链表倒数第K个数

链表中倒数第k个结点

http://www.nowcoder.com/questionTerminal/529d3ae5a407492994ad2a246518148a

//思路:快慢指针
public ListNode FindKthToTail(ListNode head,int k) {
        //链表为空,或者k为0
        if(head == null || k == 0){
            return null;
        }

        ListNode slow = head;
        ListNode fast = head;

        //fast向右移动k-1步,使得fast 和slow 相差k
        for(int i = 1; i < k; i++) {
            fast = fast.next; 
        }

        //k比链表长度还大
        if(fast == null){
            return null;
        }

        while(fast.next != null) {
            fast = fast.next;
            slow = slow .next;
        }

        return slow;

    }
全部评论

相关推荐

牛客小菜鸡66:boss里面,招人的叫老板,找工作的叫牛人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务