【Leetcode】【python】Remove Duplicates from Sorted List/Remove Duplicates from Sorted List II
来源:互联网 发布:get it 编辑:程序博客网 时间:2024/06/06 10:05
Remove Duplicates from Sorted List
题目大意
删除一个有序链表中重复的元素,使得每个元素只出现一次。
解题思路
如果当前节点有后一个节点,且它们的值相等,那么当前节点指向后一个节点的下一个节点,这样就可以去掉重复的节点。
代码
class Solution(object): def deleteDuplicates(self, head): """ :type head: ListNode :rtype: ListNode """ if head == None or head.next == None: return head p = head while p.next: if p.next.val == p.val: p.next = p.next.next else: p = p.next return head
Remove Duplicates from Sorted List II
题目大意
把一个有序链表中所有重复的数字全部删光,删除后不再有原先重复的那些数字。
解题思路
画个图会更容易理解
代码
class Solution(object): def deleteDuplicates(self, head): """ :type head: ListNode :rtype: ListNode """ if head == None: return head dummy = ListNode(-1) dummy.next = head p = dummy temp = head while p.next: while temp.next and temp.next.val == p.next.val: temp = temp.next if temp == p.next: # 如果p.next temp相等,说明并没有重复,两个都进一位 p = p.next temp = p.next else: # 如果p.next和temp不相等,说明temp已经跑到很后面了(至少大两位),所以需要将p直接指向temp.next p.next = temp.next return dummy.next
总结
两个都是链表基础题,值得反复学习
阅读全文
0 0
- 【Leetcode】【python】Remove Duplicates from Sorted List/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
- 递归方式求进制转换
- VS 字符集设置
- HTML DOM 树
- 第七天-帮助和变量强制转换
- Codeforces Round #442 (Div. 2) B
- 【Leetcode】【python】Remove Duplicates from Sorted List/Remove Duplicates from Sorted List II
- 【Hadoop】新旧Java MapReduce API的差异
- codevs 1026 逃跑的拉尔夫(BFS)
- Codeforces Round #442 (Div. 2) C
- 一篇路上的总结
- 在PopupWindow中再弹出PopupWindow问题
- 004 矩阵理论的产生:背景、矩阵问题(矩阵逆阵理论、矩阵秩的理论);矩阵逆阵(定义、存在性、求法)
- day2
- Android设计模式之MVP