(链表删除链表的倒数第N个结点)leetcode19
- 人工智能
- 2025-09-15 04:18:01

设空结点指向head便于插入和删除结点
考虑特殊情况 head结点被删除
a结点仅用来测试长度,找到目标结点的位置
b结点为空结点指向head返回值
cur用来删除目标值(特殊情况 目标值为head 这时cur=b)
则开始就将cur初始化为b开始遍历
/** * 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) { if(head->next==nullptr) { return nullptr; } ListNode* a=head; ListNode* b= new ListNode(); ListNode* cur=b; b->next=head; int len=0; while(a!=nullptr) { a=a->next; len++; } for(int i=1;i<=len-n;i++)//使cor置于目标结点的前面,目标结点可能是head { cur=cur->next; } cur->next=cur->next->next; return b->next; //目标值不是head 本身b->head 目标值是head的时候cor=b 也是b->head->next } };(链表删除链表的倒数第N个结点)leetcode19由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“(链表删除链表的倒数第N个结点)leetcode19”