【LeetCode从零单排】No19.RemoveNthNodeFromEndofList

简介: 题目        这是道链表的简单应用题目,删除从结尾数第n个节点。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.

题目

        这是道链表的简单应用题目,删除从结尾数第n个节点。

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.

代码

/**
 * 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) {
        ListNode faster = head;
	    ListNode slower = head;
	    while (n > 0 && faster != null) {
	        faster = faster.next;
	        n--;
	    }
	    // Check if has only node
	    if (faster == null) return head.next; 

	    while (faster.next != null) {
	        faster = faster.next;
	        slower = slower.next;
	    }
	    // Remove slower.next which is the nth form the end
	    slower.next = slower.next.next;
	    return head;
    }
}



/********************************

* 本文来自博客  “李博Garvin“

* 转载请标明出处:http://blog.csdn.net/buptgshengod

******************************************/



目录
相关文章
|
6月前
leetcode-913:猫和老鼠
leetcode-913:猫和老鼠
80 1
|
6月前
|
算法
算法刷题(二十二):宝石与石头
算法刷题(二十二):宝石与石头
64 0
|
21天前
lanqiao OJ 1505 剪邮票
lanqiao OJ 1505 剪邮票
26 0
|
21天前
|
存储 算法 C++
Leetcode第三十六题(有效的数独)
这篇文章介绍了如何使用C++编写一个算法来验证一个9x9数独是否有效,遵循数独的规则,即数字1-9在每一行、每一列和每个3x3宫内只能出现一次。
34 0
|
6月前
leetcode-419:甲板上的战舰
leetcode-419:甲板上的战舰
37 0
|
算法 Android开发 容器
LeetCode 周赛上分之旅 #35 两题坐牢,菜鸡现出原形
学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场 LeetCode 周赛的解题报告,一起体会上分之旅。
89 0
|
算法 C++
【每日算法Day 62】LeetCode 815. 公交路线
【每日算法Day 62】LeetCode 815. 公交路线
|
算法 图计算 C++
每日算法系列【LeetCode 42】接雨水
每日算法系列【LeetCode 42】接雨水
115 0
|
算法 C++ Python
每日算法系列【LeetCode 312】戳气球
每日算法系列【LeetCode 312】戳气球
LeetCode动态规划—打家劫舍从平板板到转圈圈(198、213)
LeetCode动态规划—打家劫舍从平板板到转圈圈(198、213)