链表中倒数第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;
    }
}
全部评论

相关推荐

爱读书的放鸽子能手很...:刷个两端实习,冲春招,流水线什么时候不能去
我的秋招日记
点赞 评论 收藏
分享
09-22 19:21
南京大学 Java
牛客96763241...:刚刚想说才投十几个,养生呢,结果一看是南大本硕✌️,肯定没有问题的
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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