225. 用队列实现栈
分析
每次访问栈顶元素 top() 或弹出栈顶元素 pop() 时,先将队列中的前 size - 1 个元素重新入队,从而把「最后加入的元素」移动到队头,模拟栈顶
push():O(1)pop():O(n)top():O(n)empty():O(1)
时间复杂度
- 排序复杂度:
O(nlogn) - 三重循环复杂度:外层循环
O(n),内层双指针O(n),总复杂度为O(n^2)
总时间复杂度 O(n^2)
C++代码
|
|
每次访问栈顶元素 top() 或弹出栈顶元素 pop() 时,先将队列中的前 size - 1 个元素重新入队,从而把「最后加入的元素」移动到队头,模拟栈顶
push(): O(1)pop(): O(n)top(): O(n)empty(): O(1)O(nlogn)O(n),内层双指针 O(n),总复杂度为 O(n^2)总时间复杂度 O(n^2)
|
|