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

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

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.

 

 to see which companies asked this question

我使用两个指针,两个指针之间的距离保持相差n
较慢的指针指向的就是需要删除的结点
ListNode* removeNthFromEnd(ListNode* head, int n) {    ListNode dummy(0);    dummy.next = head;    ListNode *slow = &dummy, *fast = &dummy;    while (n--)        fast = fast->next;    while (fast->next != nullptr)    {        slow = slow->next;        fast = fast->next;    }    ListNode *temp = slow->next;    slow->next = slow->next->next;    delete temp;    return dummy.next;}

 

转载于:https://www.cnblogs.com/sdlwlxf/p/5100177.html

你可能感兴趣的文章
数据库的工具类
查看>>
深入理解PHP Opcode缓存原理
查看>>
Spket Eclipse插件使用教程
查看>>
大端和小端(高位和低位)
查看>>
Android医药助手源码
查看>>
IPv6隧道及NAT-PT技术讲解
查看>>
解决SwipeRefreshLayout结合ListView EmptyView使用不起作用的问题
查看>>
Linux基础4 常用命令
查看>>
锚标记平滑移动
查看>>
我的友情链接
查看>>
Endian firewall
查看>>
js判断离开页面刷新或关闭的方法
查看>>
AWS AURORA  CPU 100% 的解决方案
查看>>
第94课:SparkStreaming 实现广告计费系统中在线黑名单过滤实战
查看>>
CISCO HSRP
查看>>
linux用户和组
查看>>
人生历程
查看>>
sql语句 (根据网络资料整理)
查看>>
gnome topIcons
查看>>
Visual Studio 2010生成dll并使用
查看>>