链表中倒数第K个节点,递归,Java

链表中倒数第k个结点

http://www.nowcoder.com/questionTerminal/529d3ae5a407492994ad2a246518148a

递归返回时需要记录一下返回到倒数第几个节点了

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

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    int n = 0;
    int i = -1;
    public ListNode FindKthToTail(ListNode head,int k) {
        i ++;
        if(head == null) {
            return null;
        }
        head.next = FindKthToTail(head.next, k);
        n ++;
        if(i < k) {
            return null;
        }
        // 这里是把倒数第K个节点当做头结点返回了
        return n <= k ? head : head.next;
    }
}
全部评论

相关推荐

05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求...:注意把武大标粗标大 本地你俩不是乱杀
实习进度记录
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 14:23
steelhead:你回的有问题,让人感觉你就是来学习的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务