首页 > 编程语言 > 详细

Leetcode练习(Python):链表类:第19题:删除链表的倒数第N个节点:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。说明: 给定的 n 保证是有效的。

时间:2020-05-01 00:03:17      阅读:67      评论:0      收藏:0      [点我收藏+]
题目:
删除链表的倒数第N个节点:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。说明:  给定的 n 保证是有效的。
思路:
这道题以前见过,好像是一个叫睿企还是睿智的科技公司的笔试题。使用两个指针,这两个指针的间隔是n。
程序:
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

 

class Solution:
    def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:
        if not head:
            return None
        if n == 0:
            return head
        fast = head
        for index in range(n):
            fast = fast.next
        slow = head
        if not fast:
            return head.next
        while fast.next:
            slow = slow.next
            fast = fast.next
        slow.next = slow.next.next
        return head

Leetcode练习(Python):链表类:第19题:删除链表的倒数第N个节点:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。说明: 给定的 n 保证是有效的。

原文:https://www.cnblogs.com/zhuozige/p/12811719.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!