题目如下:
采用双指针的方法,其思想是通过第二个指针将删除节点找出来,然后处理节点链接,参考代码如下:
class Solution:
def removeNthFromEnd(self, head, n):
"""
:type head: ListNode
:type n: int
:rtype: ListNode
"""
head0 = ListNode(0)
head0.next = head
runner = head0
walker = head0
for i in range(n):
runner = runner.next
while runner.next:
walker = walker.next
runner = runner.next
node = walker.next
walker.next = node.next
node.next = None
return head0.next