19. Remove Nth Node From End of List
来源:互联网 发布:java冒泡排序算法代码 编辑:程序博客网 时间:2024/06/06 18:46
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个数字
方法一:先遍历一遍链表,求出链表的长度,再删除length-n+1的数字
public class Solution { public class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } public ListNode removeNthFromEnd(ListNode head, int n) { if (head == null) { return null; } ListNode temp = head; int count = 1; while (temp.next != null) { count++; temp = temp.next; } if ((count - n + 1) == 1) { return head.next; } temp = head; int i = 0; while (temp != null) { i++; if (i == count - n) { temp.next = temp.next.next; } temp = temp.next; } return head; }}
方法二:快慢指针,快指针和慢指针之间保持n的距离,当快指针遍历到最后一个数字时,慢指针正好在倒数第n个,只需要删除慢指针指向的数字即可
if(head == null) return null; ListNode fast = head; ListNode slow = head; for(int i=0; i<n; i++){ fast = fast.next; } //if remove the first node if(fast == null){ head = head.next; return head; } while(fast.next != null){ fast = fast.next; slow = slow.next; } slow.next = slow.next.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
- VMware虚拟机系统没有声音?
- Mac上配置maven+eclipse+spark开发环境
- Linux内核学习-进程调度二
- 2017.03.18【NOIP 普及组】模拟赛C组 T4:剪草
- DES加密:8051实现(C语言) & FPGA实现(VHDL+NIOS II)
- 19. Remove Nth Node From End of List
- jzoj P1509【普及模拟】单元格
- qt制作象棋
- 491_无弹出效果dialog步骤
- 单列数据库索引的实现原理
- 数据结构与算法分析:3-4章
- Android Studio -添加你见过的最牛Log*神器*
- 字符编码总结
- Cannot return from outside a function or method