Remove Nth Node From End of List Total Accepted: 63354 Total Submissions: 234837 My Submissions Question Solution
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.
[分析] 快慢指针思路。两指针初始均指向head,快指针尽量先走 n 步:
1)若快指针超过了最后一个节点,即为null:
a)若此时已走过n步,说明共有 n 个节点,需要删除第一个节点;
b)若此时尚未走完n步,说明链表长度小于n,无需删除任何节点
2)若快指针走完n步且没有超过最后一个节点,说明链表长度大于n,两指针开始同步前进,
快指针走到最后一个节点时,慢指针的下一个节点即为倒数第 n 个节点。
这题虽然为简单题,可是我并不能很快地做到bug free。
public class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
if (n <= 0) return head;
ListNode slow = head, fast = head;
int i = 0;
while(i < n && fast != null) {
fast = fast.next;
i++;
}
if (fast == null) return i < n ? head : head.next;
while (fast.next != null) {
slow = slow.next;
fast = fast.next;
}
slow.next = slow.next.next;
return head;
}
}
分享到:
相关推荐
19.Remove_Nth_Node_From_End_of_List删除链表的倒数第N个节点【LeetCode单题讲解系列】
扔鸡蛋 leetcode LeetCode-Note-Mary Mary's ...List(删除链表的倒数第N个节点) 153. Find Minimum in Rotated Sorted Array(寻找旋转排序数组中的最小值) 2020/12/09 300. Longest Increasing
Remove Nth Node From End of List LeetCode 42 Trapping Rain Water LeetCode 61 RotateList LeetCode 75 Sort Colors LeetCode 125 Valid Palindrome LeetCode 167 Two Sum II - Input array is sorted LeetCode ...
Remove Nth Node From End of List Swap Nodes in Pairs Spiral Matrix Path Sum II Copy List with Random Pointer Building H2O Fizz Buzz Multithreaded hard Merge k Sorted Lists Reverse Nodes in k-Group ...
19. Remove Nth Node From End of List 20. Valid Parentheses 21. Merge Two Sorted Lists 22. Generate Parentheses 23. Merge k Sorted Lists 24. Swap Nodes in Pairs 25. Reverse Nodes in k-Group 26. Remove ...
2sum leetcode ...Remove_Nth_Node_From_End_of_List.cpp - invert_Binary_Tree.cpp - 对称树.cpp - BST_Or_Not.cpp - level_order_traversal.cpp - exponentiation_by_squaring.cpp - Maximum_Depth_B
leetcode括号生成python leetcode 打算开始在leetcode上刷题了嗯。 希望不要因为各种各样的原因半途而废…… 2015.3.28 在这里贴一下写过的题解和思路。 长期更新。 #19 Remove Nth Node From End of List Given a ...
leetcode 316 leetcode 题解更新脚本 用于快速的更新题解、同步leetcode的做题情况。 题解见: 文件名 用途 add_to_blog_solution_table.py 添加题解地址or题解语言到表格,能同步leetcode新题情况 blog_solution_...
leetcode 2 Leetcode答案集 关于项目: 本项目包含本人LeetCode解题的答案,全部将由JavaScript语言进行解答。并会在每个题目的文件夹中添加相关的思路解析。 详情 # Title Solution Time Space Difficulty 1 Two ...
26 | [Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/)| [C++](./C++/remove-duplicates-from-sorted-array.cpp) [Python](./Python/remove-duplicates...
leetcode题库 Little Algorithm 从 2020 年初开始,我在公众号《面向大象编程》上发表面试算法、LeetCode 题解相关文章,至今收获不少好评。此仓库是公众号内容的补充,包括公众号文章涉及到的题目的参考代码,以及 ...
java二叉树算法源码 ...Remove Nth Node From End of List Medium 21 合并两个有序链表 Merge Two Sorted Lists Easy 141 判断链表是是否存在环 Linked List Cycle Easy 142 环形链表II Linked List Cycle I
题目来源:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list 题目 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了...
leetcode 跳跃 leetcode 数据结构和算法是一个程序员的基石,本仓库用于个人学习基本数据结构和算法。 序号 题目名称 难易程度 归类 备注 1 两数之和 数组 2 两数相加 中等 链表 3 无重复字符的最长子串 7 整数反转 ...
lru缓存leetcode leetcode 我的 leetcode Javascript / Swift / Mysql 解决方案 典型问题 动态规划 子阵列 ..../topics/linked-list/remove-nth-node-from-end-of-list.md) 规则 常见的 分而治之 常见的
lru cache leetcode #算法解题报告 主要记录我每天做的题目,包括leetcode, 剑指offer等在线编程平台,以前做过的等时间够再一起...19.Remove Nth Node From End of List 20.Valid Parentheses 21.Merge Two Sorted L
leetcode添加元素使和等于 programmer_practices algorithm practices 最优解Book: 双栈实现getMin Stack. 双栈实现Queue. 递归和栈实现逆序操作一个栈. 仅用一个栈排序另一个栈. 打印两个有序链表的公共部分. 删除...
leetcode怎么销号 记录我在用python刷leetcode中各个题的解题思路 the answers for leetcode problem by python 10.Regular Expression Matching: 递归的方法:当前正则第二个字符不为'*',很简单,比较当前,两个...
leetcode 面试清单 Java 比较器与比较器 哈希 静止的 例外 线 泛型 算法 链表 Linked List Cycle Remove Nth Node From End of List Merge Two Sorted Lists 两个链表的交集 Remove Duplicates from Sorted List ...
Remove Nth Node From End of List Swap Nodes in Pairs Reverse Nodes in k-Group Copy List with Random Pointer Linked List Cycle Linked List Cycle II Reorder List LRU Cache Palindrome Linked List 字符串 ...