leetcode 之Remove Nth Node From End of List(19)
2024-09-03 16:07:23
这题比较简单,方法有很多。其中一种比较有意思的做法是设置两个指针,一个先走n步,然后再一起走。一个到了末尾,另一个也就确定了要删除元素的位置。
ListNode *removeNthFromEnd(ListNode *head, int n) {
ListNode dummy{-, head};
ListNode *p = &dummy, *q = &dummy;
for (int i = ; i < n; i++) // q 先走 n 步
q = q->next;
while(q->next) { // 一起走
p = p->next;
q = q->next;
}
ListNode *tmp = p->next;
p->next = p->next->next;
delete tmp;
return dummy.next;
}
最新文章
- php注册审核
- nodejs学习之events的使用
- Tips11:用[Rang]来限制Inspector中的变量
- html插入链接
- psutil
- Cocos2dx游戏源码合集(BY懒骨头+持续更新+2014.02.21)
- ###学习《C++ Primer》- 4
- 回击MLAA:NVIDIA FXAA抗锯齿性能实測、画质对照
- 《sed的流艺术之三》-linux命令五分钟系列之二十三
- C语言编程时常犯十八个错误
- 记忆2--记忆的";记";和";忆";
- ping时不知道ping那个Ip的解决办法
- ButterKnife使用小结
- codeforces #262 DIV2 C称号Present(二分法+贪婪)
- Redis:在windows环境安装Redis
- 1.熟悉Java基本类库系列 - 目录
- IIS环境下部署项目
- Git reset到某一次commit
- Vue.js-05:第五章 - 计算属性与监听器
- Git&#160;常用命令及操作总结