题目描述
输入一个链表,输出该链表中倒数第k个结点。
分析:
定义2个指针,第一个先跑K个,然后两个一起跑,当第一个跑到头的时候,第二个就是指在倒数第K个节点上。
代码
public class Solution {public ListNode FindKthToTail(ListNode head, int k) {/*** step 1:创建2个节点,都指向头结点;*/ListNode first = head;ListNode second = head;/*** step 2:让第二个节点指向第K个节点;*/for (int i = 0; i < k; i++) {/*** 如果出现链表长度<k的情况,方法直接返回;*/if (second == null) {return null;}second = second.next;}/*** step 3:*/while (second!= null) {first = first.next;second = second.next;}return first;}}
