删除链表中的元素,head = next.head和cur = cur.next?
来源:5-1 Leetcode中和链表相关的问题
FightForChoices
2020-06-02
老师您好,我想问5-1中为什么删除链表中的元素,head = next.head和prev.next = prev.next.next是可行的,而在第四章中,cur = cur.next 是错误的。
非常感谢!
写回答
2回答
-
qq_慕斯卡8413483
2020-12-03
因为在力扣203这个问题里提供的链表不是之前4-5的提供LinkedList
类而是只给了一个头结点,从此节点开始遍历到null的结尾加起来就是一个完整的链表.如:1->2->3.相对应的,我们最后返回的也是一个头结点代表整个链表,把head的指向进行挪动就等于是对head之前的元素进行了删除,因为无法从head节点倒着获取到之前节点的信息.所以此处head = next.head和prev.next = prev.next.next是可行的.这样返回的链表会是2->3
4-5是返回了一个包装好的整体链表而不是头结点,所以挪动cur的指向是无用的
00 -
liuyubobobo
2020-06-02
抱歉,我没有完全理解你的问题。你需要给我更完整的代码片段:第四章中哪里写成 cur = cur.next 是错误的?或者根据第四章的学习,你认为第五章那里应该怎么写是正确的?但结果却是错误的?
00
相似问题