【新浪面试题】 找到链表的k节点

简介: 【新浪面试题】 找到链表的k节点

新浪链表面试题 查找链表中的第k个节点

思路:

1.编写一个方法,接收head 节点,同时接收一个index

2,index表示的是倒数第index 个节点

3. 先把链表从头到尾遍历 得到链表的总长度 getlength

4。得到Size之后 我们从链表的第一个开始遍历(Size-index)个,就可以得到

5. 如果找到了 则返回该节点否则返回null

    public static HeroNode getLastIndexNode(HeroNode head, int index) {
        // 如果除去头节点之后没有新的节点就代表链表是空的,返回空对象
        if (head.next == null) {
            return null;
        }
        // 获取到链表的长度
        int Size = SingleLinkedlist.getlength(head);
        //声明一个零时变量指向第一个有效的节点
        HeroNode cur = head.next;
        //假设 我们的例子是一共有三个有效节点 3 这里我们index 为 2 那么3-2 = 1 找到了倒数第二个的节点
        for (int i = 0; i < Size - index; i++) {
            cur = cur.next;
        }
        //找到节点之后我们直接返回即可
        return cur;
    }

查找效果

        //找到了 k节点
        System.out.println("输出index的链表");
        System.out.println(SingleLinkedlist.getLastIndexNode(linkedlist.getHead(), 2));


输出结果



相关文章
|
29天前
|
算法
LeetCode第24题两两交换链表中的节点
这篇文章介绍了LeetCode第24题"两两交换链表中的节点"的解题方法,通过使用虚拟节点和前驱节点技巧,实现了链表中相邻节点的交换。
LeetCode第24题两两交换链表中的节点
|
1月前
|
Python
【Leetcode刷题Python】剑指 Offer 22. 链表中倒数第k个节点
Leetcode题目"剑指 Offer 22. 链表中倒数第k个节点"的Python解决方案,使用双指针法找到并返回链表中倒数第k个节点。
39 5
|
1月前
|
Python
【Leetcode刷题Python】剑指 Offer 18. 删除链表的节点
Leetcode题目"剑指 Offer 18. 删除链表的节点"的Python解决方案,通过使用双指针法找到并删除链表中值为特定数值的节点,然后返回更新后的链表头节点。
30 4
|
1月前
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】 GBDT面试题:其中基分类器CART回归树,节点的分裂标准是什么?与RF的区别?与XGB的区别?
文章讨论了梯度提升决策树(GBDT)中的基分类器CART回归树的节点分裂标准,并比较了GBDT与随机森林(RF)和XGBoost(XGB)的区别,包括集成学习方式、偏差-方差权衡、样本使用、并行性、最终结果融合、数据敏感性以及泛化能力等方面的不同。
31 1
|
23天前
|
存储 算法 Python
【面试题】合井K个升序链表
【面试题】合井K个升序链表
23 0
|
24天前
|
存储 Java
【Java集合类面试十】、HashMap中的循环链表是如何产生的?
在多线程环境下,HashMap在扩容时如果发生条件竞争,元素的插入顺序可能形成循环链表,导致死循环。
|
2月前
|
安全 云计算
云计算自旋锁问题之在线程安全地删除链表节点时,需要频繁加锁会影响性能如何解决
云计算自旋锁问题之在线程安全地删除链表节点时,需要频繁加锁会影响性能如何解决
37 2
|
2月前
|
JSON NoSQL MongoDB
面试题MySQL问题之想使用Neo4j查询可变数量的关系节点如何解决
面试题MySQL问题之想使用Neo4j查询可变数量的关系节点如何解决
35 1
|
3月前
|
算法
【数据结构与算法 刷题系列】求带环链表的入环节点(图文详解)
【数据结构与算法 刷题系列】求带环链表的入环节点(图文详解)
|
3月前
24. 两两交换链表中的节点
24. 两两交换链表中的节点