zoukankan      html  css  js  c++  java
  • leetcode 19. 删除链表的倒数第N个节点

    给定一个链表,删除链表的倒数第 个节点,并且返回链表的头结点。

    示例:

    给定一个链表: 1->2->3->4->5, 和 n = 2.
    
    当删除了倒数第二个节点后,链表变为 1->2->3->5.
    

    说明:

    给定的 n 保证是有效的。

    # 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
            """
            tmp = head
            
            cnt = 0
            while tmp:
                cnt+=1
                tmp = tmp.next
            # print(cnt)
    
            ans = ListNode(-1)
            tmp = ans
    
            for _ in range(cnt-n):
                tmp.next = ListNode(head.val)
                tmp = tmp.next
                head = head.next
    
            head = head.next
            while head:
                tmp.next = ListNode(head.val)
                tmp = tmp.next
                head = head.next
    
            return ans.next

  • 相关阅读:
    常见HTTP状态码
    Spring MVC 原理小结
    RESTful API
    java:IO流学习小结
    理解 Statement 和 PreparedStatement
    Hibernate缓存原理与策略
    APP运营
    网站常见术语
    php常见术语
    运维------术语名词
  • 原文地址:https://www.cnblogs.com/TreeDream/p/10303148.html
Copyright © 2011-2022 走看看