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

Posted yfs123456

tags:

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

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

示例 1:

输入: 1->1->2
输出: 1->2
示例 2:

输入: 1->1->2->3->3
输出: 1->2->3

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

 1 public class _83 
 2     public ListNode deleteDuplicates(ListNode head) 
 3         if (head == null || head.next == null) return head; // 空链表或者只有一个节点的链表
 4         if (head.next.next == null && head.val == head.next.val) return head.next; // 链表只有有两个相同的节点
 5 
 6         ListNode p = head;
 7         ListNode q = p.next;
 8         while (true)
 9             while (q != null && p.val == q.val)
10                 q = q.next;
11             if (p.next != q)
12                 p.next = q;
13                 p = q;
14              else 
15                 p = p.next;
16             
17             if (q == null)
18                 break;
19             q = p.next;
20         
21         return head;
22     
23 
24     public static void main(String[] args) 
25         int[] elems = 1,1;
26         ListNode head = _82.create(elems);
27         ListNode p = new _83().deleteDuplicates(head);
28 
29         while (p != null)
30             System.out.print(p.val+", ");
31             p = p.next;
32         
33     
34 

 

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

Leetcode(83)-删除排序链表中的重复元素

[LeetCode]83. 删除排序链表中的重复元素

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

LeetCode-83. 删除排序链表中的重复元素(java)

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

LeetCode Algorithm 83. 删除排序链表中的重复元素