美文网首页剑指offer
剑指offer(十四)链表中倒数第k个结点

剑指offer(十四)链表中倒数第k个结点

作者: 向前的zz | 来源:发表于2020-04-04 20:04 被阅读0次

[点击进入 牛客网题库:链表中倒数第k个结点]

题目描述

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

这个题目就是通过一个快指针和慢指针来进行的

public class Solution {
    public ListNode FindKthToTail(ListNode head, int k) {
        if(head == null || k <= 0) {
            return null;
        }
        ListNode fast = head;
        ListNode slow = head;
       for(int i = 0; i < k; i++) {
          if(fast == null) {
              return null;
          }
          fast = fast.next;
       }
        
        while(fast != null) {
            slow = slow.next;
            fast = fast.next;
            
        }
       
       return slow;  
    }
}
public class Solution {
    public ListNode FindKthToTail(ListNode head, int k) {
        if(head == null || k <= 0) {
            return null;
        }
        
        ListNode fast = head;
        ListNode slow = head;
        
        while(fast!=null) {
            fast = fast.next;
            k--;
            if(k < 0) {
                slow = slow.next;
            }
        }
        if(k > 0) {
            return null;
        }
       
       return slow;
    }
}

相关文章

网友评论

    本文标题:剑指offer(十四)链表中倒数第k个结点

    本文链接:https://www.haomeiwen.com/subject/relsphtx.html