问题:
我无法第二次弹出元素。 例如,我有4,3,2,1,堆栈顶部有4个。我无法删除3,2
任何人都可以指导我为什么吗?
以下是Stack Implementation:
public static void push(int data){
if(head==null){
Node newNode=new Node(data);
head=newNode;
}else{
Node newNode1=new Node(data);
newNode1.next=head;
head=newNode1;
}
}
public static int pop(){
if(head==null){
return 0;
}
else{
Node temp=head;
int a=temp.data;
temp=null;
return a;
}
}
public static void traverse(){
Node temp=head;
while(temp!=null){
System.out.println(temp.data);
temp=temp.next;
}
}
答案 0 :(得分:1)
您没有从列表中删除元素,只需将指向head的变量设置为Null即可。这并没有改变linkedList。
您有两种选择:
在案例2中,您必须在pop方法中添加以下内容:
head = head.next;
答案 1 :(得分:1)
你的pop方法有问题
rsync -av /path1/dir1 /path2/dir2
你忘了把头移到下一个节点。