题解 | #删除有序链表中重复的元素-II#
删除有序链表中重复的元素-II
https://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024
删除有序链表中重复的元素-II
https://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024
public ListNode deleteDuplicates (ListNode head) {
ListNode res=new ListNode(0);
res.next=head;
ListNode cur=res;
对头结点进行判定,若为空则返回null
if (head==null){
return null;
}
主体代码,对各个值进行比较,然后删除相同值节点
while (cur.next!=null&&cur.next.next!=null){
if (cur.next.val==cur.next.next.val){//循环条件
int tmp=cur.next.val;//把相同的值记下来
while (cur.next!=null&&cur.next.val==tmp) {//循环条件,利用虚拟节点可以一直指向不同的节点,并一直找到值不相同的点
cur.next = cur.next.next;
}
}else{
cur=cur.next;//不相同,将cur转向下一个节点前,继续循环
}
}
return res.next;//销毁虚拟节点
}
相关推荐
星期一的大老师:项目描述 和 技术栈单开一栏;八股文:算法与数据结构,计算机网络一定要写,操作系统不了解可以不写;Linux命令,Git,Docker基础命令和基本使用一定要写,要有实际使用场景的解决经验;项目的八股文上:redis 解决 缓存雪崩,缓存击穿,缓存穿透的解决方案,一个问题的不同方案可以一起用,不需要重复在两个项目写。第二个项目换一个。小厂可以投一投