LeetCode 82 删除排序链表中的重复元素II
Posted 想用包子换论文
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 82 删除排序链表中的重复元素II相关的知识,希望对你有一定的参考价值。
LeetCode82 删除排序链表中的重复元素II
题目描述
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
样例
输入: 1->2->3->3->4->4->5
输出: 1->2->5
输入: 1->1->1->2->3
输出: 2->3
算法分析
时间复杂度
(O(n))
Java代码
/**
* 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 dummy = new ListNode(-1);
dummy.next = head;
ListNode p = dummy;
while(p.next != null){
ListNode q = p.next.next;
while(q != null && q.val == p.next.val){
q = q.next;
}
if(p.next.next == q) p = p.next;
else p.next = q;
}
return dummy.next;
}
}
以上是关于LeetCode 82 删除排序链表中的重复元素II的主要内容,如果未能解决你的问题,请参考以下文章