题解 | #删除链表的倒数第n个节点#

删除链表的倒数第n个节点

http://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6

class Solution:
def removeNthFromEnd(self , head , n ):
#方法:设两个指针p1和p2,并增设头结点pH,两个指针都从头指针开始,
#待p1走了n+1步之后,p2再开始和p1一起走,直到p1为空为止,
#此时p2的后继节点就是要被删除的结点,那么如果p2以及p2的后继节点均不为空,
#就直接把p2后继结点删掉就行了,然后返回pH的后继指针;
pH=ListNode(0)
pH.next=head
p1,i=pH,0
while p1 and i<=n:
i+=1
p1=p1.next
p2=pH
while p1:
p1=p1.next
p2=p2.next
if p2 and p2.next:p2.next=p2.next.next
return pH.next

全部评论

相关推荐

09-28 09:18
吉首大学 Java
离上岸不远了的牛油很...:同27,你写的专业技能那些是真熟练了吗,我感觉稍微问深一点我都要🐔
你找实习最大的坎坷是什么
点赞 评论 收藏
分享
notbeentak...:孩子,说实话,选择很重要,可能你换一个方向会好很多,但是现在时间不太够了,除非准备春招
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务