欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

19.删除链表的倒数第N个结点

时间:2023-04-29

class Solution {public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* dummyHead = new ListNode(0); dummyHead->next = head; ListNode* pre = dummyHead; ListNode* cur = head; // pre与cur的索引插值保持为n 初始时pre为0,cur为1 while((--n)){ // cur先单独移动n个单位,如果n=1那么就不用移动了 cur = cur->next; } // cur直接移动到最后一个结点,此时pre->next就是要删除的结点 while(cur->next!=NULL){ pre = pre->next; cur = cur->next; } // 删除 ListNode* tmp = pre->next; pre->next = tmp->next; delete tmp; return dummyHead->next; }};

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。