如何编写一个方法,在传递整数数组时,使用堆栈返回数组?
我是Java的总菜鸟请不要问我自己的尝试,因为我不知道从哪里开始。任何帮助将不胜感激。
答案 0 :(得分:0)
将您视为Java和数据结构的初学者
Stack是一种适用于LIFO(后进先出)原理的数据结构。你可以把Stack想象成CD(Compact Disks)的容器。你把一些CD放在那里,然后当你要取出它们时,你首先得到你最后放的CD。
在您的情况下,您只需要从给定的数组中读取这些项目并将它们逐个放入堆栈中。然后只需从堆栈中逐个获取它们并放入一个新数组。你将获得反向阵列
使用 push(整数项)和 java.util.Stack 类的 pop()来放入和获取Stack中最顶层的项目
答案 1 :(得分:0)
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < array.length; i++) {
stack.push(array[i]);
}
for (int i = 0; i < array.length; i++) {
array[i] = stack.pop();
}
答案 2 :(得分:0)
因为堆栈是&#34;后进,先出&#34;,当您从堆栈中弹出一个值并将其插入新数组时,它将以相反的顺序结束。
int[] arr = {1, 2, 3, 4, 5};
从arr弹出值并将它们添加到新数组将导致:
reverse = {5, 4, 3, 2, 1};
使用for循环从arr中弹出值:
int[] reverse = new int[arr.length];
for(int i = 0; i < arr.length; i++){
reverse[i] = pop();
}
return reverse;