[leetcode]19.删除链表的倒数第N个节点
给你一个链表,删除链表的倒数第 n
个结点,并且返回链表的头结点。
进阶:你能尝试使用一趟扫描实现吗?
示例 1:
输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5]
示例 2:
输入:head = [1], n = 1 输出:[]
示例 3:
输入:head = [1,2], n = 1 输出:[1]
提示:
- 链表中结点的数目为
sz
1 <= sz <= 30
0 <= Node.val <= 100
1 <= n <= sz
思路:求出链表的长度,删除倒数第N个节点
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
# class Solution:
# def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:
# dummy = ListNode(0, head)
# first = head
# second = dummy
# for i in range(n):
# first = first.next# while first:
# first = first.next
# second = second.next# second.next = second.next.next
# return dummy.nextclass Solution:# def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:# def getLength(head: ListNode) -> int:# length = 0# while head:# length += 1# head = head.next# return length# dummy = ListNode(0, head)# length = getLength(head)# cur = dummy# for i in range(1, length - n + 1):# cur = cur.next# cur.next = cur.next.next# return dummy.nextdef removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:def getLength(head:ListNode)->int:length = 0while head:length+=1head = head.nextreturn lengthdummy = ListNode(0,head)length = getLength(head)cur = dummyfor i in range(1,length-n+1):cur = cur.nextcur.next = cur.next.nextreturn dummy.next
[leetcode]19.删除链表的倒数第N个节点相关推荐
- [链表|多解法] leetcode 19 删除链表的倒数第N个节点
[链表|多解法] leetcode 19 删除链表的倒数第N个节点 1.题目 题目链接 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2-&g ...
- 【亡羊补牢】挑战数据结构与算法 第59期 LeetCode 19. 删除链表的倒数第N个节点(链表)
仰望星空的人,不应该被嘲笑 题目描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. ...
- leetcode 19. 删除链表的倒数第N个节点(双指针)
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...
- leetcode —— 19. 删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...
- LeetCode 19删除链表的倒数第N个节点-中等
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: ...
- Leetcode 19. 删除链表的倒数第N个节点
原题链接 解法:双指针 思路:第一个点可以能被删除,所以需要一个虚拟头节点.被删除的点位于倒数第n的位置,因为是单链表,即找到倒数n + 1最后,想要删除这个节点必须要保留它的前一个节点使其p-> ...
- C++ leetcode 19. 删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
一.思路: 遍历一遍存储节点到vector数组中,然后利用数组指向倒数第n个,将倒数n-1的节点的next指向倒数n的next 二.代码: class Solution { public:ListNo ...
- Leetcode算法Java全解答--19. 删除链表的倒数第N个节点
Leetcode算法Java全解答–19. 删除链表的倒数第N个节点 文章目录 Leetcode算法Java全解答--19. 删除链表的倒数第N个节点 题目 想法 结果 总结 代码 我的答案 大佬们的 ...
- 领扣(LeetCode)删除链表的倒数第N个节点 个人题解
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1 ...
最新文章
- TCP/IP详解--第十八章
- DestroyJavaVM
- 带有无参数的存储过程
- UML-- plantUML安装
- 组合数学练习题(二)——Chemist
- 求某一维度的最大值_高中数学函数求最值常用方法总结
- play ---------idea
- Python基础(7) - 函数
- C/C++笔记(01):容易出错的几个库函数
- mysql数据库实操笔记20170418
- Python绘图——RGB颜色对照表
- java爬虫爬取豆瓣电影_小爬虫之爬取豆瓣电影排行榜
- android设置文件存储大小,Android实现把文件存放在SDCard的方法
- 三色旗问题中的快排应用
- python学习第一课——环境配置+比着葫芦画个瓢
- 微信小程序登录 获取头像不显示
- 在Linux中,如何找到并杀掉僵尸进程?
- 用Python画环环相扣的奥运五环
- Unity 0.Interactive Tutorials
- 微商红利落幕,互联网创业如何破局?