给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
这题思路比较简单,同样是快慢针的思路。
用一个整数类型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 }
原文地址:https://www.cnblogs.com/axiangcoding/p/10372426.html
时间: 2024-10-08 13:26:06