码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-05-01 01:05:32      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:class   思路   科技   题目   链表   val   range   返回   指针   

题目:
删除链表的倒数第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 保证是有效的。

标签:class   思路   科技   题目   链表   val   range   返回   指针   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!