22、链表中倒数第k个结点

2019-09-27  本文已影响0人  GIndoc

输入一个链表,输出该链表中倒数第k个结点。
题目链接:https://www.nowcoder.com/questionTerminal/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 node1 = head;
        ListNode node2 = head;
        // node1先往前走k-1个节点,然后一起往前走,直到尾节点,node2就是倒数第k个节点
        int current=1;
        while(current<k){
            node1 = node1.next;
            if(node1==null) return null;
            ++current;
        }
        while(node1.next!=null){
            node1 = node1.next;
            node2 = node2.next;
        }
        return node2;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读