[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:/...
  • gatieme
  • gatieme
  • 2016年04月07日 22:42
  • 1112

【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 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_19_Remove Nth Node From End of List

本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41778305 Given a linked list, ...

【Leetcode】19. Remove Nth Node From End of List

方法一: 思路: (1)若链表为空,直接返回null。 (2)求链表的长度len。 (3)若n==len,则删除的是第一个节点,直接删除后返回即可。 (4)从头开始遍历链表,找到待删除节点cur,并用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[leetcode] 【链表】19. Remove Nth Node From End of List
举报原因:
原因补充:

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