/**
* 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:
int getLength(ListNode* head) {
int length = 0;
while (head) {
++length;
head= head->next;
}
return length;
}
ListNode* removeNthFromEnd(ListNode* head, int n) {
ListNode *dummy = new ListNode(0, head);
int length = getLength(head);
ListNode *cur = dummy;
for (int i = 1; i < length - n + 1; ++i) {
cur = cur->next;
}
cur->next = cur->next->next;
ListNode *ans = dummy->next;
delete dummy;
return ans;
}
};
LeetCode_C++_19_链表_中等
最新推荐文章于 2024-07-19 21:09:58 发布