Remove Nth Node From End of List
2015-06-10 16:36
597 查看
Given a linked list, remove the nth node from the end of list and return its head.
For example,
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步,然后第二个指针和第一个指针一起走(第二个指针此时从头结点开始走),当第一个指针走到末尾时,在此时第二个指针刚好走到要删除的结点前一个,preDeleteNode.next = preDeleteNode.next.next;把第二个指针指向要删除结点的下一个结点/** * 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) { if(n<0){ return null; } ListNode a = new ListNode(0); a.next = head; ListNode preDeleteNode = a; for(int i=0;i<n;i++){ head = head.next; } while(head!=null){ head = head.next; preDeleteNode = preDeleteNode.next; } preDeleteNode.next = preDeleteNode.next.next; return a.next; } }
相关文章推荐
- Remove Nth Node From End of List
- Count Complete Tree Nodes || LeetCode1
- Count Complete Tree Nodes || LeetCode
- LeetCode_25---Reverse Nodes in k-Group
- Populating Next Right Pointers in Each Node I or II
- Node.js开发框架Express学习笔记(一)搭建开发环境
- Node.js 调试 GC 以及内存暴涨的分析
- 2015年最佳的15个 Node.js 开发工具
- Node.js学习--基础知识(1)--入门
- NodeJs测试
- NodeJS异常处理uncaughtException篇
- NodeJS异常处理uncaughtException篇
- 学习NodeJS第一天:node.js介绍
- 使用WebStorm调试node工程
- [Node.js] Introduction to apiCheck.js
- nodejs之socket.io模块
- Remove Nth Node From End of List
- 【LeetCode】24.Swap Nodes in Pairs
- Node.js之缓冲模块Buffer
- Node Callbacks