当前位置:网站首页>36.删除链表的倒数第 N 个结点
36.删除链表的倒数第 N 个结点
2022-07-21 18:06:00 【小开心】
第21天
19. 删除链表的倒数第 N 个结点
难度中等1475收藏分享切换为英文接收动态反馈
给你一个链表,删除链表的倒数第 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]
遍历
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode a = new ListNode(0);
a.next = head;
ListNode p = a;
int len = 0;
while(p.next!=null){
len++;
p = p.next;
}
int t = len - n+1;
p = a;
for(int i=0;i<len;i++){
if(i==t-1){
p.next = p.next.next;
}
p=p.next;
}
return a.next;
}
}
快慢指针
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode a = new ListNode(0);
a.next = head;
ListNode p = a;
ListNode q = a;
for(int i=0;i<n;i++) p = p.next;
while(p.next!=null){
p = p.next;
q = q.next;
}
q.next = q.next.next;
return a.next;
}
}
栈
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode dummy = new ListNode(0, head);
Deque<ListNode> stack = new LinkedList<ListNode>();
ListNode cur = dummy;
while (cur != null) {
stack.push(cur);
cur = cur.next;
}
for (int i = 0; i < n; ++i) {
stack.pop();
}
ListNode prev = stack.peek();
prev.next = prev.next.next;
ListNode ans = dummy.next;
return ans;
}
}
边栏推荐
- Three implementation methods of Kingdee EAS unpacking deployment
- High frequency leetcode deep search part: Sword finger offer 13 Range of motion of robot
- 加速企业数据应用创新的核心能力——灵活性
- Performance optimization
- Modify the hosts file to customize the local IP domain name
- 粘性定位(sticky)详解
- 贪吃蛇
- Configuration de l'installation mysql - version 8.0 - Windows
- ConstraintLayout从0到0.n学习
- 关于线程 thread (4)线程的交互
猜你喜欢
随机推荐
高频leetcode深搜部分:733. 图像渲染
High frequency leetcode deep search part: 297 Serialization and deserialization of binary tree
让盒子居中且距离浏览器左右各100px做动画
EAS web BIM start access prompt 500 error
EAS BOS report development
MVP_用户登录实例2_测试用例
Vector Foundation
Oracle error list
uni拦截器
[原创]一种自动化九点标定工具原理(包涵部分源码)
EAS 登录界面修改
嵌入式之网络接口方案介绍与驱动调试方式总结
响应式布局——字体常用单位
EAS BOS custom export (including excel style setting, multi tab export, export file directory verification and backup)
High frequency leetcode deep search part: 695 Maximum area of the island
andorid 查看 Activity任务栈
粘性定位(sticky)详解
Sqlserver copies tables in a database to another database
Gluttonous snake
Responsive layout - Mobile Web pixels