原问题是一次循环把链表后面第i个元素去掉 如1-2-3-4-5 去掉第二个就变成了 1-2-3-5
关键是对于一个链表,只进行一次循环找到后面第i个元素
可以使用递归调用找到倒数第i个元素,把该元素前面的值进行替换,最后从返回第二个元素即可.
class Solution(object): def removeNthFromEnd(self, head, n): """ :type head: ListNode :type n: int :rtype: ListNode """ def index(x): if(not x): return 0 i=index(x.next)+1 if(i>n): x.next.val=x.val return(i) index(head) return(head.next)