題目連接:戳這裏
題目描述:輸入一個鏈表,輸出該鏈表中倒數第k個節點。爲了符合大多數人的習慣,本題從1開始計數,即鏈表的尾節點是倒數第1個節點。例如,一個鏈表有6個節點,從頭節點開始,它們的值依次是一、二、三、四、五、6。這個鏈表的倒數第3個節點是值爲4的節點。
解題思路:先求出鏈表的長度,再算出倒數第k個節點正數的序號,再從1開始遍歷到該節點便可。
java代碼:java
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode getKthFromEnd(ListNode head, int k) { if (head == null) { return null; } else { int len = 1; ListNode lenhead=head; ListNode ans; while (lenhead.next!= null) { len++; lenhead=lenhead.next; } int num = len - k + 1; for (int i = 1; i <num; i++) { head = head.next; } ans = head; return ans; } } }