输入一个链表,输出该链表中倒数第k个节点。
简单难度。使用快慢指针即可,快指针先走k步,然后快慢一起走,直到快指针走到最后一个节点,此时慢指针即指向倒数k个节点了。
public ListNode getKthFromEnd( ListNode head, int k ){
//快慢指针
ListNode fast = head, slow = head;
//快指针先走k
while( k-- > 0 ){
fast = fast.next;
}
//特殊情况,即
if( fast == null ){
return head;
}
while( fast != null ){
fast = fast.next;
slow = slow.next;
}
return slow;
}