我想从链表中删除一个节点。链表包含以下类型的数据(包含有空格的数据)
aa 1 1 1 1
bb 2 2 2 2
ab 3 3 3 3
cc 4 4 4 4
dd 5 5 5 5
问题是我的代码只删除了我用 dd 5 5 5 5 创建的最后一个节点,没有别的!请阅读我的代码并向我提出任何解决方案,为什么它会发生在我身上?
public Node del(String key){
Node p=first;
for(Node c=first;c!=null;c=c.next)
{
if(c.data.startsWith(key)){
if(c.next==null){
return null;
}else{
p=c;
}
if(c==first)
first=first.next;
else
p.next=c.next;
return c;
}
}
return null;
}
提前致谢 !