【问题标题】:Reverse a Queue in O(1) Space Complexity在 O(1) 空间复杂度中反转队列
【发布时间】:2020-01-29 23:53:25
【问题描述】:

如何在 O(1) 空间复杂度中反转队列?

这里的答案:Can I reverse a queue without using stack? 表示可以使用堆栈。但是我不明白这个过程怎么是O(1)空间复杂度:

第 1 步:将队列中的每个元素入队然后出队到堆栈中

步骤 2:将堆栈的 Front 值排入队列,然后弹出堆栈的每个元素

堆栈不会对队列中的每个元素使用 O(n) 空间复杂度吗?

【问题讨论】:

    标签: algorithm stack queue


    【解决方案1】:

    当您将一个元素添加到堆栈时,您会将其从队列中移除。队列大小和堆栈大小的总和不会改变,因此使用的内存总量保持不变。这就是它占用 O(1) 空间的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      • 2015-05-25
      • 2016-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      相关资源
      最近更新 更多