LeetCode | Remove Duplicates from Sorted List(删除链表中重复的数据)
2014-08-12 16:50
507 查看
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given
Given
题目解析:
设置两个指针p和q,当重复的时候将q向后移动,直到不重复位置,将p->next = q;然后进行下次的循环。直到退出。
For example,
Given
1->1->2, return
1->2.
Given
1->1->2->3->3, return
1->2->3.
题目解析:
设置两个指针p和q,当重复的时候将q向后移动,直到不重复位置,将p->next = q;然后进行下次的循环。直到退出。
class Solution { public: ListNode *deleteDuplicates(ListNode *head) { if(head == NULL) return head; ListNode *p,*q; p = head; q = head->next; while(q != NULL){ if(q->val == p->val){ ListNode *h = q->next; delete q; q = h; continue; } p = q; q = q->next; } p->next = NULL; return head; } };
相关文章推荐
- [Leetcode] Remove duplicate from sorted list ii 从已排序的链表中删除重复结点
- 【LeetCode-面试算法经典-Java实现】【083-Remove Duplicates from Sorted List(排序的单链表中删除重复的结点)】
- 【LeetCode-面试算法经典-Java实现】【082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)】
- LeetCode | Remove Duplicates from Sorted List II(删除链表中重复结点2)
- [LeetCode]Merge Two Sorted Lists & Remove Duplicates from Sorted List 两个有序链表合并为一个&删除链表重复元素
- leetcode(83)—— 删除已排序链表重复元素(Remove Duplicates from Sorted List)
- Leetcode:Remove Duplicates from Sorted List 删除单链表中重复的节点
- LeetCode(Remove Duplicates from Sorted List) 两道删除排序链表中重复数字
- [LeetCode] Remove Duplicates from Sorted List 删除排序链表中的重复元素
- Leetcode Remove Duplicates from Sorted List II 删除链表中重复的元素II
- (LeetCode)Remove Duplicates from Sorted List --- 链表中删除重复元素
- [Leetcode] Remove duplicates from sorted list 从已排序的链表中删除重复元素
- Leetcode Remove Duplicates from Sorted List 删除链表中的重复元素
- leetcode83---Remove Duplicates from Sorted List(删除重复元素)
- leetcode——Remove Duplicates from Sorted List II 删除排序字符串中重复字符(AC)
- LeetCode OJ 之 Remove Duplicates from Sorted List(删除有序链表中重复的数)
- leetcode 82-- Remove Duplicates from Sorted List II 链表 双指针 删除元素
- [Lintcode]Remove Duplicates from Sorted List II 删除排序链表中的重复数字 II
- Remove Duplicates from Sorted List II 链表移除重复值@LeetCode
- [leetcode]Remove Duplicates from Sorted List (删除有序节点的值重复的节点 C语言)