San Jose各个房价 <1.5m 区域买房总结

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 825|回复: 6
收起左侧

[Leetcode] Remove Duplicates from Sorted List II为什么要用dummynode?

[复制链接] |试试Instant~ |关注本帖
MTC 发表于 2014-11-17 21:25:31 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
本帖最后由 MTC 于 2014-11-17 21:27 编辑

http://www.ninechapter.com/solutions/remove-duplicates-from-sorted-list-ii/#java
  1. public class Solution {
  2.     public ListNode deleteDuplicates(ListNode head) {
  3.         if(head == null || head.next == null)
  4.             return head;
  5.         
  6.         ListNode dummy = new ListNode(0);
  7.         dummy.next = head;
  8.         head = dummy;

  9.         while (head.next != null && head.next.next != null) {
  10.             if (head.next.val == head.next.next.val) {
  11.                 int val = head.next.val;
  12.                 while (head.next != null && head.next.val == val) {
  13.                     head.next = head.next.next;
  14.                 }            
  15.             } else {
  16.                 head = head.next;
  17.             }
  18.         }
  19.         
  20.         return dummy.next;
  21.     }
  22. }
复制代码
Freetymekiyan 发表于 2014-11-17 23:21:41 | 显示全部楼层
dummy是为了记住Linkedlist的head位置,head不是被移到后面去了吗
回复 支持 反对

使用道具 举报

全球28万学生4.7分推荐
ssx2014 发表于 2014-11-18 05:35:32 | 显示全部楼层
不加dummy的话 代码写起来会比较麻烦 lz可以试试
回复 支持 反对

使用道具 举报

mhbkb 发表于 2014-11-18 05:46:06 | 显示全部楼层
因为第一个node有可能会被删除掉  这样就没有head返回了,需要记录下一个有效head.   取一个dummy这个虚头是一直有效存在的,返回时直接返回dummy.next就行
回复 支持 反对

使用道具 举报

jdcs2015 发表于 2014-11-21 06:21:34 | 显示全部楼层
需要用dummy 来 记住 head的位置,head后来一直在变, 当然 你把head留住,新建一个runner指针,跑runner也可以。总之要有个头指针固定住。
回复 支持 反对

使用道具 举报

yabay91 发表于 2014-11-21 06:27:46 | 显示全部楼层
当对链表的一系列操作时,如果表头有可能发生变化,这时候我们用一个dummy来指向表头。这样在最终返回结果的时候,不需要再重新寻找表头,只需要返回dummy.next就行了。这样做有很多好处,避免很多对表头的单独操作
回复 支持 反对

使用道具 举报

宝贝忆彼岸 发表于 2014-11-21 22:59:16 | 显示全部楼层
加上dummy会简单一些,因为II中head不一定就是第一个node了,不确定,会变
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-26 04:42

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表