题目来源


https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

For example,
Given 1->2->3->3->4->4->5, return 1->2->5.
Given 1->1->1->2->3, return 2->3.


题意分析


Input:

:type head: ListNode

Output:

:rtype: ListNode

Conditions:与83题不同,只要元素出现过,则将该元素去掉


题目思路


因为list是有序的,并且可能返回一个空list,所以增加一个头节点。再增加一个节点时,就看这个节点之后是否有值与这个节点的值重复,如果有就不加这个值的【所有】节点


AC代码(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
"""
if head == None or head.next == None:
return head ans = ListNode(-1)
ans.next = head
p = ans
temp = p.next while p.next:
while temp.next and temp.next.val == p.next.val:
temp = temp.next
if p.next == temp:
p = p.next
temp = p.next
else:
p.next = temp.next return ans.next

最新文章

  1. 简单实用的进度条加载组件loader.js
  2. 嵌入式Linux驱动学习之路(十四)按键驱动-同步、互斥、阻塞
  3. Linux命令行上传文件到百度网盘
  4. IE11之F12 Developer Tools--调试器(Debugger)
  5. return、 return false的用法
  6. 关于RotateAnimation的各构造方法的参数
  7. fiddler 抓包post请求body参数在jmeter中的书写
  8. HDU_2023——求平均成绩
  9. 九章算法系列(#4 Dynamic Programming)-课堂笔记
  10. [luogu]P1379 八数码难题[广度优先搜索]
  11. 音视频 学习&开发&测试 资源
  12. .netcore2.0发送邮件
  13. Objective-C 优秀文章分享
  14. Windows下访问控制管理
  15. [开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] [一] 初衷与架构设计
  16. Spring基础3
  17. linux下执行.sh文件的方法和语法
  18. Luffy之支付宝支付开发API
  19. Windows Server 2012 任务管理器“性能”Tab页显示磁盘信息
  20. C#,清晨随手写

热门文章

  1. BZOJ4348 : [POI2016]Park wodny
  2. BZOJ4295 : [PA2015]Hazard
  3. C++做client Java做客户端传送数据
  4. UVA 10779 (最大流)
  5. 使用CSS 3创建不规则图形 文字围绕
  6. 洛谷 P1313 计算系数 Label:杨辉三角形 多项式计算
  7. 【COGS】147. [USACO Jan08] 架设电话线(二分+spfa)
  8. 【BZOJ】 1007: [HNOI2008]水平可见直线(凸壳)
  9. 在iOS开发中使用FMDB
  10. Ubuntu彻底删除MySQL重装MySQL