目录
题目描述
运行代码
执行示例
最终提交
题目描述
运行代码
/*** 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==nullptr)return nullptr;ListNode*p=head;ListNode*q=head;ListNode *pre=head;while(n>0){p=p->next;n--;}while(p!=nullptr){pre=q;q=q->next;p=p->next;}if(q==head){head=head->next;delete(q);q=nullptr;return head;}else{pre->next=q->next;delete(q);q=nullptr;return head;}}
};