链表中倒数第K个节点

问题

输入一个链表,输出该链表中倒数第k个结点。

我的答案

让p、q都等于头结点,让p先跑,设置一个count计算p跑了多少,等p跑了k步之后,也就数count>=k,再让q开始跑

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
        ListNode p = head;
        ListNode q = head;
        int count = 0;
        for(;p != null;p = p.next,count++)
        {
            if(count >=k)
            {
                q = q.next;
            }
        }
        return k>count?null:q;
    }
}
posted @ 2019-12-25 11:30  弘666  阅读(91)  评论(0编辑  收藏  举报