Remove Nth Node From End of List

来源:互联网 发布:suse linux dns配置 编辑:程序博客网 时间:2024/05/16 07:34
/** * 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)   return 0;        ListNode dummy(-1);        dummy.next=head;        ListNode *pEarly=&dummy;        for(int i=0;i!=n;i++)        {            pEarly=pEarly->next;        }        ListNode *pLate=&dummy;        while(pEarly->next)        {            pEarly=pEarly->next;            pLate=pLate->next;        }        pLate->next=pLate->next->next;        return dummy.next;    }};

0 0