ListNode算法

简介: ListNode算法

题目是给定一个链表:

struct ListNode
{
    int m_nKey;
    ListNode* m_pNext;
};

输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。

* 输入描述:

* 输入说明

* 1 输入链表结点个数

* 2 输入链表的值

* 3 输入k的值

*

* 输出描述:

* 输出一个整数

  public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int length = scanner.nextInt();
            ListNode head = new ListNode();
            for (int i = length; i > 0; i--) {
                int key = scanner.nextInt();
                ListNode newListNode = new ListNode(key, head.next);
                head.next = newListNode;
            }
            int index = scanner.nextInt();
            for (int i = 0; i < index; i++) {
                head = head.next;
            }
            System.out.println(head.value);
        }
    }
}
class ListNode {
    int value;
    ListNode next;
    ListNode() {
    }
    ListNode(int value, ListNode next) {
        this.value = value;
        this.next = next;
    }
}
相关文章
|
2月前
|
算法
算法题(4)
算法题(4)
56 6
|
2月前
|
算法
算法题(8)
算法题(8)
13 4
|
3月前
|
算法
Manacher(马拉车)算法详解
该文章详细解释了Manacher算法,这是一种高效找出给定字符串最长回文子串的算法,通过在字符串中插入特殊字符构建新的字符串,并利用中心扩展策略来找出最长回文序列,时间复杂度为O(N),空间复杂度为O(N)。
|
4月前
|
算法 调度 C#
|
6月前
|
算法
多边形裁剪算法
多边形裁剪算法
|
算法 索引
插值查找算法
插值查找算法
|
算法
Warshall算法
Warshall算法
233 0
Warshall算法
|
机器学习/深度学习 算法 搜索推荐
C#算法大全(中)
今天有人想让我搞一期C#算法大全。算法就算法,安排上!
|
算法
【算法之初步认识】
【算法之初步认识】
145 0
【算法之初步认识】
|
算法 C++