我希望只使用堆栈来移动堆栈。例如:
原始堆栈:[A,A,3,3,B,B,6,6,C,C] 转置堆栈:[B,6,6,C,C,A,A,3,3,B]
由于Java Collections Framework与Stack类中的此方法没有任何相似之处,因此实现此目的的方法是什么?
答案 0 :(得分:2)
使用 Collections.rotate 。
List<String> stack = new Stack<>();
stack.addAll(Arrays.asList("A", "A", "3", "3", "B", "B", "6", "6", "C", "C"));
Collections.rotate(stack, 5);
System.out.println(stack);
答案 1 :(得分:0)
这是伪代码,我希望你可以转换为Java没问题!
制作临时堆栈
将部分项目从原始文件移至临时文件
(所以你原来可能有A,A,3,3,B和临时C,C,6,6,B)。
现在制作一个结果堆栈
将B,6,6,C,C放在temp
然后将B,3,3,A,A放入temp
要做这些动作,你会反复做这样的事情: Temp.push(Original.pop())。