Remove Nth Node From End of List 从链表中删除元素
来源:互联网 发布:甘肃省公务员网络培训 编辑:程序博客网 时间:2024/06/06 06:39
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个数。
我们利用双指针策略,fast指针和slow指针。这样只要遍历一次链表,就可以完成删除。
1. fast指针先走 n 步后,
2. fast指针和slow指针一起走,直至fast.next = null
3. 当fast.next = null的时候,此时slow 在 3这个地方
slow.next = slow.next.next就可以把4消除掉了。
唯一需要注意的问题:
当fast先走n步后= null了。(此时如果再判断fast.next会报指针错误的)
我们思考: fast走n 步后为null意味着什么呢?
此时slow 指向 head, 意味着我们要删除head 了 !
运行时间:
代码:
public ListNode removeNthFromEnd(ListNode head, int n) { if (n == 0 || head == null) { return head; } ListNode fast = head, slow = head; for (int i = 0; i < n; i++) { fast = fast.next; } // need to delete the head; if (fast == null) { return head.next; } while (fast.next != null) { fast = fast.next; slow = slow.next; } slow.next = slow.next.next; return head; }
1 0
- Remove Nth Node From End of List 从链表中删除元素
- Remove Nth Node From End of List 从链表中删除倒数第N的节点
- Remove Nth Node From End of List 链表删除倒数第N个元素@LeetCode
- LeetCode Remove Nth Node From End of List 删除倒数第n个元素
- Leetcode Remove Nth Node From End of List 删除链表倒数第n个元素
- (LeetCode)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
- 【leetcode】345. Reverse Vowels of a String
- 指向类的指针 学生信息类的指针
- no symbol version for module_layout 解决办法
- 【Log4j】Jboss下配置log4j简记
- LayParames动态创建控件和控制相对布局的展示
- Remove Nth Node From End of List 从链表中删除元素
- mysql中delete和truncate的区别
- 态度
- set_new_handler
- 学习Tensorflow,反卷积
- google deepMind DQN 源码解读(1)
- STL 简单 function adapters 的实现
- iOS protobuf的配置
- Android笔记FirstCode003