给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
示例:
给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5.
# Definition for singly-linked list. class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: def removeNthFromEnd(self, head, n): """ :type head: ListNode :type n: int :rtype: ListNode """ cur = head count = 0 while cur != None: count+=1 cur = cur.next if count<=1: return [] m = count - n cur = head count = 0 while count<m-1: count+=1 cur = cur.next if n==1: cur.next = None return head elif m == 0: return head.next else: cur.next = cur.next.next return head