Remove Nth Node From End of List
来源:互联网 发布:王健林要被清算了知乎 编辑:程序博客网 时间:2024/05/21 00:19
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.
Have you met this question in a real interview?
代码如下:
/** * 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(head.next==null) return null; ListNode pre = null; ListNode p1 = head; ListNode p2 = head; while(n>1){ p2 = p2.next; n--; } while(p2.next!=null){ pre = p1; p1 = p1.next; p2 = p2.next; } //要删除的是链表的第一个元素 if(pre == null){ return head.next; } pre.next = p1.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
- 文章标题99999999999999
- 文章标题101010
- 文章标题11111111111
- ARM指令寻址方式之: 数据处理指令的寻址方式
- Python 自动化测试报告HTMLTestRunner
- Remove Nth Node From End of List
- 今日心情
- POJ 3177 Redundant Paths 边双连通分量+缩点
- UITableViewHeaderFooterView的使用+自动布局
- 银行取款[多线程]{使用ThreadLocal管理共享变量,但此场景并不保证线程同步}
- JavaScrip模块化模式写法
- 习近平主席特使孟建柱会见卡梅伦
- Animation动画详解(二)——Interpolator插值器
- Save apache spark dataframe to database