Remove Nth Node From End of List

来源:互联网 发布:情迷彼得堡 知乎 编辑:程序博客网 时间:2024/05/04 04:31
/** * 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) {        if(head == NULL){            return NULL;        }        ListNode *phead = new ListNode(0);        phead->next = head;        ListNode *back = phead, *front = phead;        while(n--){            front = front->next;        }        while(front->next != NULL){            front = front->next;            back = back->next;        }        ListNode *p = back->next;        back->next = p->next;        delete p;        return phead->next;    }};


0 0
原创粉丝点击