Leetcode Remove Duplicates from Sorted List II 82
来源:互联网 发布:农行软件开发待遇 编辑:程序博客网 时间:2024/06/06 14:59
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.
Subscribe to see which companies asked this question
题目链接
gg在头节点改了很久 因为会出现[1,1,2,2,3]的情况
一:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* deleteDuplicates(ListNode* head) { if(head==NULL) return head; bool isdup=false; while(1){ isdup=false; while(head!=NULL && head->next!=NULL){ if(head->val==head->next->val){ head->next=head->next->next; isdup=true; } else{ break; } } if(isdup) head=head->next; else break; } if(head==NULL || head->next==NULL) { return head; } ListNode *rf=head; ListNode *r=rf->next; ListNode *rc=rf->next->next; isdup=false; while(rf!=NULL && r!=NULL && rc!=NULL){ if(r->val==rc->val){ isdup=true; r->next=rc->next; rc=r->next; } else{ if(isdup){ rf->next=rc; r=rf->next; rc=r->next; isdup=false; } else{ rf=rf->next; r=rf->next; isdup=false; rc=r->next; } } } if(isdup) rf->next=NULL; //cout<<"isdup="<<isdup<<endl; return head; }};
二:
学习别人的,发现可以在头结点前加个结点,就可以一起处理了
学习了~
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* deleteDuplicates(ListNode* head) { if(head==NULL) return head; ListNode *p = new ListNode(-1); p->next = head; ListNode *rf=p; ListNode *r=rf->next; ListNode *rc=rf->next->next; bool isdup=false; while(rf!=NULL && r!=NULL && rc!=NULL){ if(r->val==rc->val){ isdup=true; r->next=rc->next; rc=r->next; } else{ if(isdup){ rf->next=rc; r=rf->next; rc=r->next; isdup=false; } else{ rf=rf->next; r=rf->next; isdup=false; rc=r->next; } } } if(isdup) rf->next=NULL; //cout<<"isdup="<<isdup<<endl; return p->next; }};
0 0
- 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
- [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
- [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
- 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
- leetcode Remove Duplicates from Sorted List II
- [LeetCode] Remove Duplicates from Sorted List II
- 新建了android项目就出现了问题 请求各位大神帮助
- React Native 的布局(容器属性)
- listview内嵌套edittext,软键盘遮住问题
- cc2541 设置蓝牙名称为中文
- Mybatis根据名称模糊查询信息
- Leetcode Remove Duplicates from Sorted List II 82
- 2017-01-01 中介者模式
- Nilearn学习笔记2-从FMRI数据到时间序列
- Web基础学习笔记——CSS基础
- MFC线程同步
- 分解任意输入数的质因数
- Android进程间通信
- Mybatis添加功能
- win10 vs2015 jsoncpp编译 支持xp系统