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 删除排序链表中的重复元素的主要内容,如果未能解决你的问题,请参考以下文章