题目链接
无头节点的单链表删除倒数为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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复