赞
踩
思路:快慢指针
/** * 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) { ListNode* dummyHead = new ListNode(0); dummyHead->next = head; ListNode* pre = dummyHead; ListNode* cur = dummyHead; while(n-->0 && cur) cur = cur->next; cur = cur->next; while(cur){ cur = cur->next; pre = pre->next; } pre->next = pre->next->next; return dummyHead->next; } };
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。