链表中倒数第K个节点

2018-05-23  本文已影响0人  twilight_mao

题目描述

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

思路

1.注意考虑异常情况
2.先选出链表的长度length,则倒数第K个节点即正数第length-k个

代码

public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
       ListNode node = new ListNode(-1);
        int length = 0;
        int i = 0;
        if (head == null || k == 0) {
            return null;
        }
        node = head;
        while (node != null) {
            length++;
            node = node.next;
        }
//        System.out.println(length);

        if (k > length) {
            return null;
        }
        i = length - k;
        node = head;
        while (i != 0) {
            node = node.next;
            i--;
        }
        return node;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读