【题目】
给定一个链表的头节点head和一个整数Num,实现将值为num的节点全部删除。
【举例】
链表为1->2->3->4->null,num=3,
调整后为:1->2->4->null
【代码】
//在单链表中删除指定值的节点
public static Node removeValue(Node head,int num){
while(head!=null){//找到第一个不为num的节点,作新头节点
if(head.value!=num){
break;
}
head=head.next();
}
Node pre=head;
Node cur=head;
while(cur!=null){
if(cur.value==num){//cur节点值为num
pre.next=cur.next;
//删除cur节点:将之前一个值不等于num的节点pre连接到cur的下一个节点
}
else{//cur节点值不为Num
pre=cur;//更新最近一个值不为Num的节点
}
cur=cur.next;
}
return head;
}
【疑问】
没有学到链表和节点,Node是否是自定义类?
该看完Java视频,该看看算法导论,该看看数据结构….
可是这些真的跟测试有关吗…
这篇博客讨论了如何在给定的链表中删除所有值为特定数目的节点。通过举例展示了如何从1->2->3->4->null的链表中删除值为3的节点,使其变为1->2->4->null。作者对于是否需要学习链表和节点的概念,以及这些知识是否与测试工作相关提出疑问。
2732

被折叠的 条评论
为什么被折叠?



