删除有序链表中重复的元素
2023-07-16 11:56 作者:MicroShuai | 我要投稿

1.使用curr.next = curr.next.next,跳过节点的方法;
1️⃣ 如果当前元素和下一个元素相同
2️⃣ 那么直接跳过下一个元素
3️⃣ 让当前元素指向下下个元素
处理边界问题 : 当curr.next = null 的时候 跳出循环,遇到最后两个相同的元素,
curr.next = curr.next.next 相当于 curr.next = curr.next.null (curr.next = curr.next->null )
对于curr = curr.next 和 curr .next = curr.next.next 的 区别
1️⃣ curr = curr.next 是让当前元素引用 变成 下一个元素的引用,也就是指针向前走
2️⃣ curr .next = curr.next.next 是让 当前元素 的 next 保存 下下个元素的地址,
相当于 当前元素 指向 下下一个元素(跳过下一个元素)
curr = curr.next
是将当前节点指针移动到下一个节点。curr.next = curr.next.next
是删除当前节点的下一个节点。






2快慢指针解法
定义一快指针,定义一个慢指针,判断慢指针和快指针 的val ,相等则快指针向前走
否则 慢指针 向前走一步,然后快指针附值给慢指针
