牛客网-剑指offer-14-打印一个链表的倒数第k个节点

时间限制:1秒 空间限制:32768K 热度指数:236999
本题知识点: 链表
 算法知识视频讲解

题目描述

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


遍历1次,当走了k步时,标记头结点,接下来继续向后遍历,同时标记也往后走,等遍历完链表的时候,标记刚好停留在倒数第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) {
        if(head==null || k<=0) {
            return null;
        }
        int count=0;
        ListNode p = head;
        ListNode target = null;
        while(p!=null) {
            count++;
            if(target!=null) {
                target = target.next;
            }
            if(count==k) {
                target = head;
            }
            p=p.next;
        }
        return target;
    }
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kuangrenerlengzi/article/details/77971148
文章标签: 算法
个人分类: Java
上一篇牛客网-剑指offer-13-调整数组顺序使奇数位与偶数之前
下一篇牛客网-剑指offer-15-反转链表
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭