gpt4 book ai didi

java - 复制堆栈中的元素?

转载 作者:行者123 更新时间:2023-12-01 10:21:54 25 4
gpt4 key购买 nike

所以我有一个方法来获取整数堆栈,并以相同的顺序返回所有重复元素的堆栈。我的问题是我目前拥有的方法,除了堆栈为空时之外,在所有情况下都会遇到无限循环问题。我该怎么做才能完成复制而不出现循环问题?

public void stutter(Stack<Integer> Integ)
{
Integer first;

for(int i = 0; i < Integ.size(); i++)
{
first = Integ.pop();
Integ.push(first);
Integ.push(first);
}
}

最佳答案

每次插入另一个整数时,都会增加堆栈的原始大小,从而向前推“i”限制。

您应该返回一个新的堆栈,最好使用(java8 之前的版本):

public Stack<Integer> stutter(Stack<Integer> from) {
Stack<Integer> stk = new Stack<>();
for(Integer i: from) {
stk.push(i);
stk.push(i);
}
return stk;
}

关于java - 复制堆栈中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35542425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com