[leetcode] 【链表】19. Remove Nth Node From End of List

原创 2016年06月01日 16:56:47

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.

Try to do this in one pass.

题意

删除链表倒数第n个节点。

题解

两个指针,一个先走n补,然后两个一起走,那么等第一个指针到尾的时候,第二个指针正好在倒数第n个位置。

/**
 * 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) {
        ListNode newhead(-1);
        newhead.next=head;
        ListNode *fast=&newhead,*slow=&newhead;
        for(int i=0;i<n;i++)
            fast=fast->next;
        while(fast->next)
        {
            fast=fast->next;
            slow=slow->next;
        }
        ListNode *temp=slow->next;
        slow->next=slow->next->next;
        delete temp;
        return newhead.next;
        
    }
};



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[C++]LeetCode 19: Remove Nth Node From End of List(删除链表中倒数第n个节点)

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

leetcode_[python/C++]_19. Remove Nth Node From End of List(删除链表末第n个节点)

题目链接 【题目】 Given a linked list, remove the nth node from the end of list and return its head.For ex...

LeetCode 19. Remove Nth Node From End of List(链表)

LeetCode 19. Remove Nth Node From End of List(链表)LeetCode 19 Remove Nth Node From End of List链表 问题描述...

leetcode[#19 链表 标尺]Remove Nth Node From End of List

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

LeetCodet题解--19. Remove Nth Node From End of List(删除链表的倒数第n个元素)

链接 LeetCode题目:https://leetcode.com/problems/remove-nth-node-from-end-of-list GitHub代码:https:/...

LeetCode OJ 之 Remove Nth Node From End of List ( 删除链表的从尾部数第n个结点 )

题目: Given a linked list, remove the nth node from the end of list and return its head. 删除链表的从尾部数第...

leetcode:单链表之Remove Nth Node From End of List

leetcode:单链表之Remove Nth Node From End of List 题目: Given a linked list, remove the nth node from the ...

【LeetCode-面试算法经典-Java实现】【019-Remove Nth Node From End of List(移除单链表的倒数第N个节点)】

【019-Remove Nth Node From End of List(移除单链表的倒数第N个节点)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a l...

[leetcode: Python]19. Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head.For example,Given ...
  • NXHYD
  • NXHYD
  • 2017-05-19 08:28
  • 125

LeetCode#19. Remove Nth Node From End of List

题目:删除链表倒数第n个元素
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)