LeetCode 19. Remove Nth Node From End of List

来源:互联网 发布:r软件怎么使用说明 编辑:程序博客网 时间:2024/04/29 18:30

题目:

Given a linked list, remove the nth node from the end of list and return its head.

For example,

   Given linked list: 1->2->3->4->5, and n = 2.   After removing the second node from the end, the linked list becomes 1->2->3->5.

Note:
Given n will always be valid.
Try to do this in one pass.

题意:

删除已链表尾部开始的第n个节点

题解:

清楚python的链表结构就行,比较简单

# Definition for singly-linked list.# class ListNode(object):#     def __init__(self, x):#         self.val = x#         self.next = Noneclass Solution(object):    def removeNthFromEnd(self, head, n):        """        :type head: ListNode        :type n: int        :rtype: ListNode        """        i=1        res=[]        temp=head        while head.next != None:            head=head.next            i=i+1        j=1        while j<=i:          if j==i-n+1:              temp=temp.next              j=j+1          else:              res.append(temp.val)              temp=temp.next              j=j+1        return res


0 0
原创粉丝点击