83. Remove Duplicates from Sorted List(Linked List-Easy)
【摘要】 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-...
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.
题意:对给定的排好序的链表,删除重复的元素,只留下出现一次的元素
思路:当元素和下一个元素比对,如果相同,当前元素的next指针指向下一个元素的next指针。
Language : c
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* deleteDuplicates(struct ListNode* head) { struct ListNode* cur = (int *)malloc(sizeof(struct ListNode)); cur = head; while(cur != NULL){ while(cur->next != NULL && cur->val == cur->next->val){ cur->next = cur->next->next; } cur = cur->next; } return head;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
Language : cpp
/**
* 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* cur = head; while(cur != NULL){ while(cur->next != NULL && cur->val == cur->next->val){ cur->next = cur->next->next; } cur = cur->next; } return head; }
};
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
Language : python
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object): def deleteDuplicates(self, head): """ :type head: ListNode :rtype: ListNode """ now = head while head: while head.next and head.val == head.next.val: head.next = head.next.next head = head.next return now
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
文章来源: jackcui.blog.csdn.net,作者:Jack-Cui,版权归原作者所有,如需转载,请联系作者。
原文链接:jackcui.blog.csdn.net/article/details/55106317
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)