题解 | #链表中倒数第k个结点#

链表中倒数第k个结点

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

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

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {   //进行特判
        if(head == null || k < 0)
            return null;
        ListNode slow = head;
        ListNode fast = head;
        while (k > 0){
            k--;
            if(fast == null)   //如果k过大,fast可能已经是null了,所以每次循环都要判断一下fast是否为空,防止出现空指针异常
                return null;
            fast = fast.next;
        }
        while(fast != null){
            fast = fast.next;
            slow = slow.next;
        }
        return slow;
    }
}
全部评论

相关推荐

08-02 12:53
新媒体运营
牛客159498129号:1.照片换正式一点的 2.在校经历排版标点符号不统一 3.部分语句太过口语化
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务