美文网首页
输入一个链表,输出该链表中倒数第k个结点。

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

作者: 努力努力再努力_姜姜 | 来源:发表于2016-06-23 11:24 被阅读91次

题目来源:牛客网--程序员面试金典
解决思路:

  1. 先求出链表中一共有多少个节点
  2. 然后在找到倒数第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 current = head;
        int length = 0;
        while(current != null){
            length += 1;
            current = current.next;
        }
        ListNode tmp = head;
        int a = 0;
        if(k<= length){
            while(a != length - k ){
                    a++;
                    tmp = tmp.next;
            }
            return tmp;
        }
        else{
            return null;
        }
    }
}

相关文章

网友评论

      本文标题:输入一个链表,输出该链表中倒数第k个结点。

      本文链接:https://www.haomeiwen.com/subject/fmwndttx.html