我做了一個方法,刪除堆棧中的任何副本並返回按升序排序的結果堆棧。例如,查看主函數,它應該輸出爲1,3,4,7。但是,它會輸出原始堆棧數據,這是不正確的。有什麼建議麼?從Java中刪除堆棧中的重複值
import java.util.ListIterator;
import java.util.Stack;
public class removeDoubleInStack {
public static Stack<Integer> removeDouble(Stack<Integer> s) {
Stack<Integer> tempStack = new Stack<Integer>();
ListIterator<Integer> iter = s.listIterator();
while(iter.hasNext()) {
int tempNext = iter.next();
if(tempNext != iter.next())
tempStack.add(tempNext);
}
return tempStack;
}
public static void main(String[] args) {
Stack<Integer> s = new Stack<Integer>();
s.add(1);
s.add(3);
s.add(3);
s.add(4);
s.add(7);
s.add(7);
removeDouble(s);
System.out.println(s);
}
}
好的謝謝,但它只輸出[1,3],其中4和7丟失。 – Shuvo0o