LeetCode.82(83) Remove Duplicates from Sorted List
2017-08-27 11:22
302 查看
83.Remove Duplicates from Sorted List
题目:
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given
Given
分析:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head==null)return null;
ListNode cur=head;
while(cur.next!=null){
//确保当前节点与下一个结点不重复,否则移除重复节点
if(cur.val==cur.next.val){
cur.next=cur.next.next;
}else{
//不重复,继续往下寻找
cur=cur.next;
}
}
return head;
}
}
82.Remove Duplicates from Sorted List(II)
题目:
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given
Given
分析:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
//除去重复元素
if(head==null)return head;
ListNode cur=new ListNode(0);
ListNode temp=cur;
cur.next=head;
ListNode pre=head;
while(pre!=null){
//轮询到重复元素
while(pre.next!=null&&pre.val==pre.next.val){
pre=pre.next;
}//为重复的最后一个
//判断是否temp的下一个是否是当前pre
if(temp.next==pre){
temp=temp.next;//查找到当前pre
}else{
//说明pre的下一个为不重复元素可以拼接
temp.next=pre.next;
}
pre=pre.next;
}
return cur.next;
}
}
题目:
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given
1->1->2, return
1->2.
Given
1->1->2->3->3, return
1->2->3.
分析:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head==null)return null;
ListNode cur=head;
while(cur.next!=null){
//确保当前节点与下一个结点不重复,否则移除重复节点
if(cur.val==cur.next.val){
cur.next=cur.next.next;
}else{
//不重复,继续往下寻找
cur=cur.next;
}
}
return head;
}
}
82.Remove Duplicates from Sorted List(II)
题目:
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.
分析:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
//除去重复元素
if(head==null)return head;
ListNode cur=new ListNode(0);
ListNode temp=cur;
cur.next=head;
ListNode pre=head;
while(pre!=null){
//轮询到重复元素
while(pre.next!=null&&pre.val==pre.next.val){
pre=pre.next;
}//为重复的最后一个
//判断是否temp的下一个是否是当前pre
if(temp.next==pre){
temp=temp.next;//查找到当前pre
}else{
//说明pre的下一个为不重复元素可以拼接
temp.next=pre.next;
}
pre=pre.next;
}
return cur.next;
}
}
相关文章推荐
- LeetCode.82(83) Remove Duplicates from Sorted List
- 83. Remove Duplicates from Sorted List
- Leetcode-83 Remove Duplicates from Sorted List
- [Leetcode 83, easy] Remove Duplicates from Sorted List
- LeetCode 83 Remove Duplicates from Sorted List(链表操作)
- 83. Remove Duplicates from Sorted List*
- 83. Remove Duplicates from Sorted List II
- leetcode_83_Remove Duplicates from Sorted List
- Leetcode Remove Duplicates from Sorted List 83
- LeetCode(83)——Remove Duplicates from Sorted List
- Leetcode 83 Remove Duplicates from Sorted List 有序链表去重
- 83. Remove Duplicates from Sorted List
- [LeetCode]83 Remove Duplicates from Sorted List
- [leetcode][83]Remove Duplicates from Sorted List
- 83. Remove Duplicates from Sorted List
- LeetCode83 Remove Duplicates from Sorted List
- 83. Remove Duplicates from Sorted List Leetcode Python
- leetcode 83 Remove Duplicates from Sorted List
- leetcode 83 Remove Duplicates from Sorted List
- leedcode 83 Remove Duplicates from Sorted List