单向链表循环辅助节点

源码驿站 其他问答 1

链表删除重复元素,但发现了一个问题,声明辅助节点,为什么14行的节点后移,仅仅只是last的节点会改变,但12行会让head的节点也改变。

回复

共2条回复 我来回复
  • 毕设助手
    这个人很懒,什么都没有留下~
    评论

    两者的操作方式不同: last.next = last.next.next, 这个属于改变对象中的引用(操作的是内在数据)。 last = last.next, 这个属于简单赋值,就相当于 ListNode last = head。 由于 last 引用了 head,如果改变了 last 中的值,那么 head 也会相应的改变。

    0条评论
  • 源码货栈
    这个人很懒,什么都没有留下~
    评论

    14行是 不相同则 则继续判断下一个节点, 12 行是删除相同得结点,将当前结点指向下下个结点,防止断链。 建议自己设置一个链表,debug 调试去理解

    0条评论

发表回复

登录后才能评论