力扣(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)删除排序链表中的重复元素 个人题解的主要内容,如果未能解决你的问题,请参考以下文章
精选力扣500题 第66题 LeetCode 83. 删除排序链表中的重复元素c++/java详细题解