链表中倒数最后k个结点

依旧是用快慢指针,快指针先走k步,之后再让慢指针走。所得即为倒数第k个节点。

 public ListNode FindKthToTail (ListNode pHead, int k) {

        ListNode fast=pHead;
        ListNode slow=pHead;
        for (int i=0;i<k;i++){
            if(fast==null) return null;
            fast=fast.next;
        }
       while (fast!=null){
           fast=fast.next;
           slow=slow.next;
       }
       return slow;
    }

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务