struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
class Solution {
public:
ListNode *removeNthFromEnd(ListNode *head, int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(head == NULL) return NULL;
ListNode dummy(-1);
dummy.next = head;
ListNode* p = dummy.next;
ListNode* prevP = &dummy;
ListNode* q = dummy.next;
for(int i = 0; i < n; ++i)
q = q->next;
while(q != NULL)
{
q = q->next;
prevP = p;
p = p->next;
}
prevP->next = p->next;
return dummy.next;
}
};
[LeetCode]Remove Nth Node From End of List
最新推荐文章于 2020-08-05 23:20:29 发布