輸入一個連結串列,輸出該連結串列中倒數第k個節點。為了符合大多數人的習慣,本題從1開始計數,即連結串列的尾節點是倒數第1個節點。例如,一個連結串列有6個節點,從頭節點開始,它們的值依次是1、2、3、4、5、6。這個連結串列的倒數第3個節點是值為4的節點。
示例:
給定一個連結串列: 1->2->3->4->5, 和 k = 2.
返回連結串列 4->5.
方法一:我的解法
很簡單,就是遍歷找到 count - k + 1
結點,然後輸出
程式碼
/**
* 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) {
int count = 0;
if (head == null) {
return head;
}
ListNode temp = head;
while (head != null) {
count ++;
head = head.next;
}
for (int i = 1; i < count - k + 1; i++) {
temp = temp.next;
}
return temp;
}
}
來源:力扣(LeetCode)
連結:leetcode-cn.com/problems/lian-biao...
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
本作品採用《CC 協議》,轉載必須註明作者和本文連結