/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode *removeNthFromEnd(ListNode *head, int n) {
ListNode * dummyHead = new ListNode(0);
dummyHead->next = head;
ListNode * pre = dummyHead;
ListNode *follower = dummyHead;
for(int i = 0; i < n; ++i) {
pre = pre->next;
}
while(pre->next != NULL) {
pre = pre->next;
follower = follower->next;
}
ListNode * toDelete = follower->next;
follower->next = toDelete->next;
toDelete->next = NULL;
delete toDelete;
return dummyHead->next;
}
};
4/03/2014
Leetoce -- Remove Nth Node From End of List
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment