我有s
个Student
个对象和Student
个对象e
。
如何在不使用e
方法的情况下删除最顶层s.peek()
上方的堆栈的所有元素?
答案 0 :(得分:4)
弹出,直到遇到e
,然后再次推送e
。
Student top = null;
while(!s.isEmpty() && !e.equals(top)){
top = s.pop();
}
if(e.equals(top)) {
s.push(top);
} else {
// e was not on the stack
}
答案 1 :(得分:0)
弹出顶部元素,如果弹出的元素变成'e',则将其推回堆栈。否则,再次弹出叠加。