19.Remove Nth Node From End of List(7.54%)
2016-05-04 21:57
525 查看
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肯定会有效的,所以不用考虑n无效的情况。
用最快的速度,遍历一次搞定。
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肯定会有效的,所以不用考虑n无效的情况。
用最快的速度,遍历一次搞定。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { int index = 0; ListNode removedList = head; ListNode scanList = head; while (scanList.next != null) { // 假设刚好只有n个链表 if (index >= n) { removedList = removedList.next; } scanList = scanList.next; index++; } index++; // 移除第一个 if (index == n) { return head.next; } removedList.next = removedList.next.next; return head; } }
相关文章推荐
- python 和 nodejs 比较
- nvm node 版本管理器的安装
- LeetCode OJ 116. Populating Next Right Pointers in Each Node
- ActiveMQ 入门Nodejs版
- ActiveMQ + NodeJS + Stomp 极简入门
- Permission denied: user=root, access=WRITE, inode="hadoop":hadoop:supergroup:rwxr-xr-x
- Nodejs学习item 3 -- module模块系统与npm包管理
- 美团酒店Node全栈开发实践
- Xcode7.3中SKAudioNode"诡异"初始化的解决
- Xcode7.3中SKAudioNode"诡异"初始化的解决
- Xcode7.3中SKAudioNode"诡异"初始化的解决
- 如何用nodejs创建一个webservice
- SecondaryNameNode 理解
- Populating Next Right Pointers in Each Node
- 搭建nodejs的express框架
- 在nodejs下express 从安装到运行的全过程
- Node.js学习-1
- Node.js异步读取txt文档
- Nodejs学习item 2 -- events事件处理EventEmitter
- Node.JS创建服务