<
>

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 = None

class 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

暂时禁止评论

微信扫一扫

易采站长站微信账号