LeetCode刷题笔记——19. 删除链表的倒数第N个节点
2020-06-28 13:58:07 来源:易采站长站 作者:易采站长站整理
难度:中等
一、题目描述:

二、解题分析:
1、解析
这道题本质上和《剑指Offer》刷题笔记——面试题22. 链表中倒数第k个节点是一样的。都可以用单指针两次遍历或者双指针一次遍历解决。
2、代码实现
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = Noneclass Solution:
def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:
if head is None:
return
cur = head
length = 1
while cur.next:
length += 1
cur = cur.next
if length == n:
head = head.next
return head
count = 1
cur = head
pre = cur
while length-count+1 != n:
count += 1
pre = cur
cur = cur.next
pre.next = cur.next
return head
作者:lockonlxf













闽公网安备 35020302000061号