Remove Nth Node From End of List
来源:互联网 发布:长谷川wego拼装版淘宝 编辑:程序博客网 时间:2024/06/05 04:50
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距离的指针 同时前进 当后一个指针指向null时 前一个指针就到要删除的节点啦 然后删除这个节点。(考虑特殊情况 删除头尾节点)
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { if(head==null||head.next==null) return null; ListNode l1=head; ListNode l2=head; ListNode l3=l1; while(n>0){ l2=l2.next; n--; } while(l2!=null){ l3=l1;//注意 这里用l3保留l1前一个节点 方便最后节点的删除。也可以用编程之美里面删除任意节点的方法 l1=l1.next; l2=l2.next; } if(l1==head){ head=head.next; } if(l1.next==null){ l3.next=null; } else{ l3.next=l1.next; } return head; }}
0 0
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node from End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- 规则引擎ILog和CKRule的对比
- 黑马程序员_集合
- 取得(原生)浏览器浏览记录
- 1016. 部分A+B (15)
- 读书
- Remove Nth Node From End of List
- Lucene索引在文件和内存中的数据结构
- swift-元组
- 笑话
- JQ获得鼠标位置
- ASP调用c#编写的websevice方法
- 数组排序
- 黑马程序员_基础_IO流学习笔记_File对象功能
- 深入浅出NodeJS——模块机制