题目描述
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
出处文章来源:https://www.toymoban.com/news/detail-827058.html
思路
两个指针间隔n,一趟遍历解决。
文章来源地址https://www.toymoban.com/news/detail-827058.html
代码
class Solution {
public:
ListNode* removeNthFromEnd(ListNode* head, int n) {
ListNode* p=head;
ListNode* q=head;
while(n>0){
q=q->next;
n--;
}
if(!q){
q=p->next;
delete(p);
return q;
}
q=q->next;
while(q){
p=p->next;
q=q->next;
}
q=p->next;
p->next=q->next;
delete(q);
return head;
}
};
到了这里,关于[力扣 Hot100]Day29 删除链表的倒数第 N 个结点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!