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

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

题目:

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.

给定一个单链表,移除倒数第n个Node,返回链表的head

思路:维护两个指针slow,fast,fast先移动n步,然后slow、fast同时移动,直到fast为空为止,删除slow后面的结点即可

代码:

1 /** 2  * Definition for singly-linked list. 3  * struct ListNode { 4  *     int val; 5  *     ListNode *next; 6  *     ListNode(int x) : val(x), next(NULL) {} 7  * }; 8  */ 9 class Solution {10 public:11     ListNode* removeNthFromEnd(ListNode* head, int n) {12         ListNode *preHead = new ListNode(0);13         ListNode *fast = preHead, *slow = preHead;14         slow->next = head;15         for(int i = 0; i <= n; ++i)16             fast = fast->next;17         while(fast)18         {19             fast = fast->next;20             slow = slow->next;21         }22         slow->next = slow->next->next;23         return preHead->next;24     }25 };

 

 

 

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

你可能感兴趣的文章
centos7-修改主机名
查看>>
面试宝典系列-mysql面试基础题
查看>>
spring data for mongo
查看>>
开启 URL 重写
查看>>
Journey源码分析二:整体启动流程
查看>>
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
查看>>
七、MySQL中的字符集 - 系统的撸一遍MySQL
查看>>
centos7的php5.4竟然不支持原生的mysql
查看>>
使用IntelliJ IDEA开发SpringMVC网站(四)用户管理
查看>>
ajax加载数据到页面无法打印的解决办法
查看>>
js 验证中文
查看>>
Linux下运行java DES AES加解密
查看>>
DataNode 运行状况
查看>>
牛津词典 2018 年度词汇 ——「有毒」!
查看>>
XIB的是用
查看>>
Learning Data Structure_2_线性表、栈和队列
查看>>
Android Arcface人脸识别sdk使用工具类
查看>>
android studio单个工程文件的代理设置
查看>>
Agent admitted failure to sign using the key
查看>>
grep 应用
查看>>