力扣(LeetCode)删除排序链表中的重复元素 个人题解

Posted Axiangcoding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了力扣(LeetCode)删除排序链表中的重复元素 个人题解相关的知识,希望对你有一定的参考价值。

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

 

这题思路比较简单,同样是快慢针的思路。

用一个整数类型val对应最新的只出现过一次的那个值,

如果节点的下一个节点的值和这个对应则不做别的操作,快针进入下一个,

如果不对应则接到慢针对应的节点上,同时快针慢针都向前一位,整数val设置为新的值,以此类推。

代码如下:

 1 class Solution {
 2     public ListNode deleteDuplicates(ListNode head) {
 3         if (head == null)
 4             return head;
 5         ListNode ret = head;
 6         Integer val = head.val;
 7         while (head.next != null) {
 8             if (head.next.val == val) {
 9                 head.next = head.next.next;
10             } else {
11                 val = head.next.val;
12                 head = head.next;
13             }
14         }
15         return ret;
16     }
17 }

 

 

以上是关于力扣(LeetCode)删除排序链表中的重复元素 个人题解的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode-083-删除排序链表中的重复元素

精选力扣500题 第66题 LeetCode 83. 删除排序链表中的重复元素c++/java详细题解

迭代LeetCode 82. 删除排序链表中的重复元素 II

leetcode 83 删除排序链表中的重复元素

leetcode 82. 删除排序链表中的重复元素 II

leetcode 82. 删除排序链表中的重复元素 II