码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 19 - 删除链表的倒数第N个节点 - [链表]

时间:2019-03-19 01:26:18      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:--   else   指针   std   solution   off   amp   https   col   

题目链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/

 

题解:

两个 $p,q$ 指针均指向头,然后 $q$ 先往前走 $n$ 步,然后 $p,q$ 一起走,直到 $q$ 走到底,此时 $p$ 的位置即倒数第 $n$ 个的位置。

 

AC代码:

static const auto io_sync_off = []()
{
    std::ios::sync_with_stdio(0);
    std::cin.tie(0);
    std::cout.tie(0);
    return nullptr;
}();
struct Solution
{
    ListNode* removeNthFromEnd(ListNode* head, int n)
    {
        ListNode* q=head;
        ListNode* p=head;
        while(n--) q=q->next;
        while(q!=NULL && q->next!=NULL) p=p->next, q=q->next;
        if(q==NULL) head=p->next;
        else p->next=p->next->next;
        return head;
    }
};

 

LeetCode 19 - 删除链表的倒数第N个节点 - [链表]

标签:--   else   指针   std   solution   off   amp   https   col   

原文地址:https://www.cnblogs.com/dilthey/p/10556077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!