加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
19.删除链表的倒数第-n-个结点.cpp 1.07 KB
一键复制 编辑 原始数据 按行查看 历史
jeff_cheng 提交于 2021-06-11 18:39 . add issue 19 algo
/*
* @lc app=leetcode.cn id=19 lang=cpp
*
* [19] 删除链表的倒数第 N 个结点
*/
// @lc code=start
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* removeNthFromEnd(ListNode* head, int n) {
ListNode *first = head;
ListNode *second = head;
int i = 0;
for(i=0;i<n && second;i++){
second = second->next;
}
if(!second) //删除头结点
{
head = head->next;
return head;
}
while(second){
if(!second->next)
break;
second = second->next;
first = first->next;
}
//first 下一个节点为要删除的节点
first->next = first->next->next;
return head;
}
};
// @lc code=end
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化