(剑指offer)链表中倒数第k个节点

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ccnuacmhdu/article/details/84705207

时间限制:1秒 空间限制:32768K 热度指数:502784
本题知识点: 链表

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

思路
先计算链表总数,转换成正数第几个节点再找

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

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
        ListNode kNode = head;
        int sum = 0;//总节点数
        while(kNode!=null){
            kNode = kNode.next;
            sum++;
        }
        if(k>sum){
            return null;
        }
        int cnt = sum - k + 1;
        kNode = head;
        while(cnt>1){
            kNode = kNode.next;
            cnt--;
        }
        return kNode;
    }
}

猜你喜欢

转载自blog.csdn.net/ccnuacmhdu/article/details/84705207
今日推荐