LeetCode 19. Remove Nth Node From End of List

来源:互联网 发布:软件及信息服务业 编辑:程序博客网 时间:2024/05/22 20:19

Given a linked list, remove the nth node from the end of list and return its head.

For example,

   Given linked list: 1->2->3->4->5, and n = 2.   After removing the second node from the end, the linked list becomes 1->2->3->5.

Note:
Given n will always be valid.

answer:

class Solution {public:    ListNode* removeNthFromEnd(ListNode* head, int n) {        ListNode * pre, * now, * post;        now = head;        pre = now;        post = now;        for(int i = 1; i <= n; i ++){            post = post->next;        }        while(post != NULL){            pre = now;            now = now->next;            post = post->next;        }        if(pre == now){            head = head->next;            return head;        }        pre->next = now->next;        return head;    }};



0 0
原创粉丝点击