(LeetCode 83)Remove Duplicates from Sorted Lists
生活随笔
收集整理的這篇文章主要介紹了
(LeetCode 83)Remove Duplicates from Sorted Lists
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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.
?
題目要求:
給一有序鏈表,刪除重復的結點,使得每個元素只出現一次。
解題思路:
1、從頭到尾遍歷鏈表,如果前后兩個結點相同,則將第一個結點指向它的下下結點,并刪除它的下個結點。
2、遞歸思想。
代碼:
/*** 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) {ListNode *lst=head;ListNode *del;while(lst && lst->next){if(lst->val==lst->next->val){del=lst->next;lst->next=lst->next->next;delete(del);}elselst=lst->next;}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 || head->next==NULL)return head;if(head->val==head->next->val)head=deleteDuplicates(head->next);elsehead->next=deleteDuplicates(head->next);return head;} };轉載于:https://www.cnblogs.com/AndyJee/p/4464233.html
總結
以上是生活随笔為你收集整理的(LeetCode 83)Remove Duplicates from Sorted Lists的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装glib 总结
- 下一篇: 利用反射技术修改类中的字段(成员变量的反