java - java - 如何使用另一个堆栈反转java中的堆栈?
问题描述
我想java.util.Stack
通过使用另一个堆栈来反转形式的java中的堆栈。我知道我可以将 to 的最顶部元素推stack 1
到stack 2
并且stack 2
会有stack 1
. 但这个问题需要我反映答案stack 1
本身而不是stack 2
。我也不能使用更多的堆栈。如何逆转和反映被逆转的答案stack 1
本身?
解决方案
Stack s1 = new Stack();
Stack s2 = new Stack();
s1.add(1);
s1.add(2);
s1.add(3);
s1.add(4);
s2.add(s1.pop());
s2.add(s1.pop());
s2.add(s1.pop());
s2.add(s1.pop());
s1 = s2;
System.out.println(s1);
您没有说不允许重新分配堆栈变量。这样你就有了相反的顺序s1
。
另一种方法是使用Collections.reverse(s1);
具有基本相同效果的
推荐阅读
- reactjs - 如何使用 react 和 typescript 在函数中调用 useContext?
- php - 尝试使用 PHP 在 MongoDB 中执行查询
- flask - 导入 Python3 烧瓶会导致在 yocto 发行版中找不到 werkzeug.test?
- dagger-2 - 为什么要使用 AndroidViewModel?
- rest - 如何仅从特定 REST 端点检索前 2 个数据(没有整个数据)Python
- spring-boot - 如何在spring data elasticsearch中对嵌套对象使用Term Query?
- r - 使用 R 包 OFFICER 和 RVG 将绘图从 R 导出到 pptx 文件时无法指定幻灯片大小
- python - 绘图时忽略 Matplotlib rcParams
- python-3.x - 将列表元素加入两个
- sql - SQLite 选择列名包含字符串的数据并创建仅包含这些标题的表