Leetcode Remove Duplicates from Sorted List II 删除链表中重复的元素II
来源:互联网 发布:朱棣如果失败 知乎 编辑:程序博客网 时间:2024/05/17 03:38
题目:
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given 1->2->3->3->4->4->5
, return 1->2->5
.
Given 1->1->1->2->3
, return 2->3
.
分析:
1. 链表的表头元素可能被删除,因此需要使用dummy node。
2. 只要有重复元素就需要把所有的重复元素删除,因此需要记录当前node的pre node。
3. 发现两个元素重复时,不能立刻删除,一直找到最后一个重复的再删除。
Java代码实现:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode deleteDuplicates(ListNode head) { if(head==null || head.next == null) return head; ListNode dummy = new ListNode(0); dummy.next = head; ListNode node = head; ListNode pre = dummy; while(node!=null && node.next!=null) { while(node!=null && node.next!=null && node.val == node.next.val) { node = node.next; } if(pre.next != node) { pre.next = node.next; node = pre.next; } else { pre = node; node = node.next; } } return dummy.next; }}
0 0
- Leetcode Remove Duplicates from Sorted List II 删除链表中重复的元素II
- 【LeetCode-面试算法经典-Java实现】【082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)】
- (LeetCode)Remove Duplicates from Sorted List --- 链表中删除重复元素
- LeetCode | Remove Duplicates from Sorted Array II(删除重复的元素2)
- LeetCode | Remove Duplicates from Sorted List II(删除链表中重复结点2)
- (每日算法)LeetCode --- Remove Duplicates from Sorted Array II (删除重复元素II)
- LeetCode OJ 之 Remove Duplicates from Sorted List II (删除有序链表中重复的数 - 二)
- Remove Duplicates from Sorted List 删除链表中重复的元素
- leetCode 82.Remove Duplicates from Sorted List II (删除排序链表的重复II) 解题思路和方法
- leetcode-82. Remove Duplicates from Sorted List II(删除有序列表中所有重复元素一个不留)
- Remove Duplicates from Sorted List II 删除链表中的元素(不保留重复)
- LeetCode: Remove Duplicates from Sorted Array II(在排序数组中删除重复元素)
- LeetCode 82. Remove Duplicates from Sorted List II(删除链表中的重复节点)
- 82.leetcode Remove Duplicates from Sorted List II(medium)[链表删除重复]
- LeetCode: Remove Duplicates from Sorted List II
- [Leetcode] Remove Duplicates from Sorted List II
- LeetCode: Remove Duplicates from Sorted List II
- [Leetcode] Remove Duplicates from Sorted List II
- 捕鱼分鱼、出售鱼、平分七筐鱼
- hdu 5093 Battle ships 最大二分匹配
- HDU 4565 so easy(矩阵快速幂)
- 利用jQuery实现**站删除效果
- PHP数组在内存的形式
- Leetcode Remove Duplicates from Sorted List II 删除链表中重复的元素II
- nyoj914Yougth的最大化(二分搜索 + 贪心)
- 单调队列基本知识
- poj 3666 Making the Grade (动态规划)
- Android的系统架构
- MySQL for Mac 安装和基本操作
- canvas使用图案来对图形和文本进行描边和填充
- W3C首次发布SVG标记、SVG轮廓标准工作草案
- matlab 扩大虚拟内存