【第22期】观点:IT 行业加班,到底有没有价值?

[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;
        
    }
};



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

相关文章推荐

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

Remove Nth Node From End of List Total Accepted: 63354 Total Submissions: 234837 My Submissions Question Solution Given a linked list, remove the nt...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

LeetCode 19. Remove Nth Node From End of List 解题报告

19. Remove Nth Node From End of List My Submissions Question Total Accepted: 94847 Total ...

[LeetCode] Remove Nth Node From End of List

Given a linked list, remove the <em style="margin

LeetCode OJ-19.Remove Nth Node From End of List

LeetCode OJ-19.Remove Nth Node From End of List题目描述 Given a linked list, remove the *n*th node fro...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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