题目描述: 输入一个链表,输出该链表中倒数第k个结点。为了符合习惯,从1开始计数,即链表的尾结点是倒数第1个节点。例如,一个链表有6个结点,从头结点开始,它们的值依次是1,2,3,4,5,6。则这个链表倒数第三个结点是值为4的结点。 解题思路: 对于单链表来说,没有从后向 ...
题目描述: 输入一个链表,输出该链表中倒数第k个结点。例如有一个链表有六个节点 , , , , , .则它的倒数第二个节点为 节点定义如下: 思路一: 设置一个快指针,一个慢指针。像一把尺子,当尺子的一端移动到链表的末尾,则另一端则为倒数第k个节点。 思路二: 两次遍历。第一次遍历出链表的长度n,第二次遍历获取链表第n k 个节点。 思路三: 借助栈来存储所有节点,在利用出栈获取倒数第k个节点 ...
2019-09-03 13:37 0 343 推荐指数:
题目描述: 输入一个链表,输出该链表中倒数第k个结点。为了符合习惯,从1开始计数,即链表的尾结点是倒数第1个节点。例如,一个链表有6个结点,从头结点开始,它们的值依次是1,2,3,4,5,6。则这个链表倒数第三个结点是值为4的结点。 解题思路: 对于单链表来说,没有从后向 ...
// test14.cpp : 定义控制台应用程序的入口点。 // ...
正文 本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是 ...
题目:输入一个链表,输出该链表中倒数第k个结点 代码如下 运行截图 ...
第 13 题(链表):题目:输入一个单向链表,输出该链表中倒数第 k 个结点。链表的倒数第 0 个结点为链表的尾指针。链表结点定义如下: struct ListNode {int m_nKey;ListNode* m_pNext;}; 我的思路:先翻转链表,再从翻转后的链表的头向尾数k ...
PS:这是一道出境率极高的题目,记得去年参加校园招聘时我看到了3次,但是每次写的都不完善。 一、题目:链表的倒数第k个节点 题目:输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点 ...
题目描述: 输入一个链表,输出该链表中倒数第k个结点。(hint: 请务必使用链表。) 输入: 输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为两个整数n和k(0<=n<=1000, 0< ...
两种方法 1.在链表的初始化数据中加入 num 数据, 每添加一个节点,num加1,每删除一个节点,num减1 查找倒数第k个元素,即 指向第一个节点的指针向后移动 num - k 步。 2.使用两个指针 i 和 j, i和j初始化都指向第一个节点。 查看倒数第k个元素,先将 j ...