关闭

Leetcode 19 Remove Nth Node From End of List 超简洁代码

标签: acmleetcode工作面试c++algorithm
1074人阅读 评论(0) 收藏 举报
分类:

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个节点。

利用类似DFS的递归解决,自认为还是挺简洁的。

既然是Leetcode上的基础题,就要小题大做,我去看了一下discuss,

发现有人用一种快慢指针的方法,即快指针先走n步,然后两者同时走,当快指针走到尾部时,慢指针就是要删除的节点,想法也挺好的。

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    int cnt=0;
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        if(head==NULL) return NULL;
        head->next=removeNthFromEnd(head->next,n);
        if(++cnt==n)
            return head->next;
        return head;
    }
};


1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

【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...
  • DERRANTCM
  • DERRANTCM
  • 2015-07-22 07:24
  • 2051

java连接sftp服务器 (随笔)

网上有很多成型的例子,在这里提供几个不错的连接   详细讲解sftp文件上传 http://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html...
  • shutingwang
  • shutingwang
  • 2013-08-29 11:45
  • 16356

Nodejs源码解析之Buffer

今天源码分析一下Nodejs的核心模块Buffer, 官方文档https://nodejs.org/api/buffer.html 在分析源码前,以下问题需要说明: Buffer可以看作是原始数据的...
  • leoleocs
  • leoleocs
  • 2015-12-23 17:36
  • 2479

[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
  • 218

LeetCode-19 Remove Nth Node From End of List(移除尾部第N个节点)

LeetCode-19 Remove Nth Node From End of List Given a linked list, remove the nth node from the end o...
  • u011035622
  • u011035622
  • 2015-04-25 11:45
  • 373

LeetCode 19 — Remove Nth Node From End of List(C++ Java Python)

题目:http://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/ Given a linked list, remove t...
  • dragon_dream
  • dragon_dream
  • 2014-02-23 12:00
  • 2506

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, ...
  • a2415180498
  • a2415180498
  • 2016-05-09 12:46
  • 446

LeetCode 19_Remove Nth Node From End of List

这么多天了,才刷到20题,真是伤心啊,不过毕竟坚持了下来了,也算对得起自己了,这道题的难度也是简单,不过倒是挺有意思的,实现的方式也比较多,用来学习算法还是不错的。 Given a string ...
  • cyfcsd
  • cyfcsd
  • 2015-09-26 10:51
  • 366

LeetCode_19---Remove Nth Node From End of List

LeetCode
  • bingbing8219
  • bingbing8219
  • 2015-06-05 14:26
  • 178

LeetCode 19. Remove Nth Node From End of List 对撞指针

Remove Nth Node From End of List 题目 题意 注意 思路 代码 结果 Delete Node in a Linked List 题目 题意 注意 思路 代码 结果19....
  • wys2011101169
  • wys2011101169
  • 2017-05-23 17:38
  • 145
    个人资料
    • 访问:368634次
    • 积分:6623
    • 等级:
    • 排名:第4179名
    • 原创:286篇
    • 转载:11篇
    • 译文:0篇
    • 评论:65条
    博客专栏
    文章分类
    最新评论