概述
题目链接
无头节点的单链表删除倒数为n的节点
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* removeNthFromEnd(ListNode* head, int n) {
ListNode *p = head, *q = head, *s;
int flag = 0;
for (int i = 0; !flag && i < n; i++)
{
if (p->next != NULL)
{
p = p->next;
}
else
{
flag = 1;
}
}
if (flag)
{
q = head;
head = q->next;
free(q);
return head;
}
while (p->next != NULL)
{
p = p->next;
q = q->next;
}
s = q->next;
q->next = s->next;
free(s);
return head;
}
};
最后
以上就是务实鸭子为你收集整理的LeetCode-19 Remove Nth Node From End of List的全部内容,希望文章能够帮你解决LeetCode-19 Remove Nth Node From End of List所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复