您的位置:首页 > Web前端 > Node.js

LeetCode-19-Remove Nth Node From End of List(C语言实现)

2017-12-24 00:50 316 查看
/**

 * Definition for singly-linked list.

 * struct ListNode {

 *     int val;

 *     struct ListNode *next;

 * };

 */

struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {

    int i;

    struct ListNode *p, *q, *tmp;

    p = head;

    q = head;

    for(i = 0; i < n; ++i)

        q = q -> next;

    if(q == NULL)

    {

        tmp = p;

        p = p -> next;

        free(tmp);

        return p;

    }

    while(q -> next != NULL)

    {

        p = p-> next;

        q = q -> next;

    }

    tmp = p -> next;

    p -> next = tmp -> next;

    free(tmp);

    return head;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: