Leetcode 83. 删除排序链表中的重复元素
2019-03-18 22:09
274 查看
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2
输出: 1->2
示例 2:
输入: 1->1->2->3->3
输出: 1->2->3
主要弄懂链表的操作
对于C++,主要是使用指针来操作
ListNode*cur = head; // 定义一个指向head的指针
cur->val //指向当前
cur->next //指向下一个元素
C++实现
/** * 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){ ListNode* rear = cur->next; if(rear == NULL) return head; if(cur->val == rear->val) cur->next = rear->next; else cur=cur->next; } return head; } };
对于python3 ListNode 是定义的一个链表类
关键操作是
flag=head.val #取head头部的值
h = ListNode(head.val) #定义了一个ListNode的对象 就是定义了一个新的链表h
current =h #取指向h头部元素的指针
python特殊的地方在于
head = head.next 自己遍历会删掉当前头部元素 如果不想删掉,只遍历的话就要重新定义一个指针来遍历
current.next =ListNode(head.val) 在链表h中添加元素,添加的元素是head的当前头部元素,current 指向的是h
python3 实现
class Solution: def deleteDuplicates(self, head: ListNode) -> ListNode: if head == None: return None h = ListNode(head.val) current = h flag = head.val while head != None: if flag == head.val: head = head.next else: current.next = ListNode(head.val) current = current.next flag = head.val head = head.next return h
相关文章推荐
- leetcode 83. 删除排序链表中的重复元素 (C语言版)
- LeetCode 83. 删除排序链表中的重复元素
- [Leetcode] 83. 删除排序链表中的重复元素 java
- LeetCode83. 删除排序链表中的重复元素
- LeetCode83. 删除排序链表中的重复元素
- Leetcode83. 删除排序链表中的重复元素
- 【LeetCode-面试算法经典-Java实现】【082-Remove Duplicates from Sorted List II(排序链表中删除重复元素II)】
- 【LeetCode】[83] 删除排序链表中的重复元素
- Leetcode 82 删除排序链表中的重复元素 II Python C++ 史上最详细题解系列
- [LeetCode] 83. Remove Duplicates from Sorted List 删除排序链表中的重复元素 @python
- leetcode(83)—— 删除已排序链表重复元素(Remove Duplicates from Sorted List)
- (Java) LeetCode 83. Remove Duplicates from Sorted List —— 删除排序链表中的重复元素
- LeetCode 82. 删除排序链表中的重复元素 II Python
- [Leetcode] 82. 删除排序链表中的重复元素 II java
- LeetCode刷题-删除排序链表中的重复元素
- LertCode - 83. 删除排序链表中的重复元素
- <LeetCode> 题112:删除排序链表中的重复元素
- [Leetcode] Remove duplicates from sorted list 从已排序的链表中删除重复元素
- (Java) LeetCode 82. Remove Duplicates from Sorted List II —— 删除排序链表中的重复元素 II
- 83. 删除排序链表中的重复元素