[LeetCode]面試題 02.02. 返回倒數第 k 個節點
阿新 • • 發佈:2020-08-27
實現一種演算法,找出單向連結串列中倒數第 k 個節點。返回該節點的值。
注意:本題相對原題稍作改動
示例:
輸入: 1->2->3->4->5 和 k = 2
輸出: 4
說明:
給定的 k 保證是有效的。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/kth-node-from-end-of-list-lcci
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x; } * } */ public class Solution { public int KthToLast(ListNode head, int k) { // 1 // int len = 0; // ListNode test = head; // while(test != null){ // len++; // test = test.next; // } // for(int i = 0; i < len-k; i++){ // head = head.next; // } // return head.val; // 2 ListNode fast = head; ListNode slow = head; while(k > 0){ fast = fast.next; k--; } while(fast != null){ fast = fast.next; slow = slow.next; } return slow.val; } }