You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否仅借助空队列反转指定队列?附严格操作限制条件

可行,具体实现步骤如下

前提准备

  • 声明唯一全局变量total_len,存储queue1的初始长度:total_len = queue1.length()

步骤1:将queue1全部元素转移到queue2

while not queue1.empty():
    queue2.enqueue(queue1.dequeue())

此时状态:queue1 = [],queue2 = [3,2,1]

步骤2:分批次将queue2的元素按逆序转移回queue1

循环total_len次(记当前循环次数为i,从0开始):

  1. 将queue2的队尾元素移到队首:循环total_len - i - 1次,每次执行:
    temp = queue2.dequeue()
     queue2.enqueue(temp)
    
    这一步的作用是把queue2中最后一个元素(当前需要放到queue1的目标元素)移动到队首位置。
  2. 将队首元素转移到queue1:
    queue1.enqueue(queue2.dequeue())
    
  3. 恢复queue2剩余元素的顺序:循环total_len - i - 1次,每次执行:
    temp = queue2.dequeue()
     queue2.enqueue(temp)
    
    这一步是把暂时移到队尾的元素挪回原位,保证queue2剩余元素的顺序正确,方便下一次循环处理。

最终状态

完成所有循环后,queue1 = [1,2,3],queue2 = [],完全符合要求。


内容的提问来源于stack exchange,提问作者teewhy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 02:55:42