给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字。
示例1:
输入: 1->2->3->3->4->4->5
输出: 1->2->5
示例2:
输入: 1->1->1->2->3
输出: 2->3
思路:判断next和next的next是否相同,如果相同就去掉这一段。
/*** Definition for singly-linked list.* public class ListNode {*int val;*ListNode next;*ListNode(int x) { val = x; }* }*/class Solution {public ListNode deleteDuplicates(ListNode head) {ListNode ans=new ListNode(-1);ans.next=head;ListNode temp=null;ListNode node=ans;while(node.next!=null){if(node.next.next!=null && node.next.val==node.next.next.val){temp=node.next.next;while(temp!=null && node.next.val==temp.val){temp=temp.next;}node.next=temp;}else{node=node.next;}}return ans.next;}}
如果觉得《leetcode82. 删除排序链表中的重复元素 II》对你有帮助,请点赞、收藏,并留下你的观点哦!