【LeetCode从零单排】No19.RemoveNthNodeFromEndofList
生活随笔
收集整理的這篇文章主要介紹了
【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.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 nodeif (faster == null) return head.next; while (faster.next != null) {faster = faster.next;slower = slower.next;}// Remove slower.next which is the nth form the endslower.next = slower.next.next;return head;} }代碼下載:https://github.com/jimenbian/GarvinLeetCode
/********************************
* 本文來自博客 ?“李博Garvin“
* 轉載請標明出處:http://blog.csdn.net/buptgshengod
******************************************/
總結
以上是生活随笔為你收集整理的【LeetCode从零单排】No19.RemoveNthNodeFromEndofList的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode从零单排】No20.V
- 下一篇: 【LeetCode从零单排】No26.R