博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
19. Remove Nth Node From End of List
阅读量:6049 次
发布时间:2019-06-20

本文共 1181 字,大约阅读时间需要 3 分钟。

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 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.

解析

  • 两种思路
  • 思路一:第一遍遍历得到链表的长度,第二遍走cnt-n步,注意边界条件
  • 思路二:两个指针,第一个先走n-1步,然后两个指针一起走
// 19. Remove Nth Node From End of Listclass Solution {public:    ListNode* removeNthFromEnd(ListNode* head, int n) {        ListNode* cur = head;        if (head==NULL)        {            return NULL;        }        int cnt = 0;        while (cur!=NULL)        {            cnt++;            cur = cur->next;        }        cur = head;        int pos = cnt - n+1;        if (pos==1)        {            return cur->next;        }        pos = pos - 2;        while (pos)        {            cur = cur->next;            pos--;        }        ListNode* dete = cur->next;        if (dete->next)        {            cur->next = cur->next->next;        }        else        {            cur->next = NULL;        }                        //delete dete;        return head;    }};

题目来源

转载地址:http://vdxex.baihongyu.com/

你可能感兴趣的文章
这次逻辑通了,
查看>>
HTMLHelper
查看>>
快速构建Windows 8风格应用29-捕获图片与视频
查看>>
OC语言Block和协议
查看>>
使用xpath时出现noDefClass的错误(找不到某个类)
查看>>
.Net规则引擎介绍 - REngine
查看>>
CSS3 transforms 3D翻开
查看>>
利用传入的Type类型来调用范型方法的解决方案
查看>>
Top命令内存占用剖析
查看>>
转 网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO
查看>>
求带分数(蓝桥杯)
查看>>
Retrofit 入门学习
查看>>
Spring Boot学习笔记
查看>>
laravel 集合接口
查看>>
java.exe进程来源排查录
查看>>
C++实现KMP模式匹配算法
查看>>
JSONObject与JSONArray的使用
查看>>
除了《一无所有》,我一无所有
查看>>
每日英语:China Seeks to Calm Anxiety Over Rice
查看>>
C++中struct和class的区别 [转]
查看>>