第 13 题(链表):题目:输入一个单向链表,输出该链表中倒数第 k 个结点。链表的倒数第 0 个结点为链表的尾指针。链表结点定义如下: struct ListNode {int m_nKey;ListNode* m_pNext;}; 我的思路:先翻转链表,再从翻转后的链表的头向尾数k ...
两种方法 .在链表的初始化数据中加入 num 数据, 每添加一个节点,num加 ,每删除一个节点,num减 查找倒数第k个元素,即 指向第一个节点的指针向后移动 num k 步。 .使用两个指针 i 和 j, i和j初始化都指向第一个节点。 查看倒数第k个元素,先将 j 向右移动 k 步。 再将 i 和 j 同时向右移动,直到 j 指向最后一个元素结束。 这时候 i 指向的元素即 倒数第k个元素。 ...
2017-02-23 02:15 0 1733 推荐指数:
第 13 题(链表):题目:输入一个单向链表,输出该链表中倒数第 k 个结点。链表的倒数第 0 个结点为链表的尾指针。链表结点定义如下: struct ListNode {int m_nKey;ListNode* m_pNext;}; 我的思路:先翻转链表,再从翻转后的链表的头向尾数k ...
// test14.cpp : 定义控制台应用程序的入口点。 // ...
题目描述: 输入一个链表,输出该链表中倒数第k个结点。例如有一个链表有六个节点1,2,3,4,5,6.则它的倒数第二个节点为5 节点定义如下: 思路一: 设置一个快指针,一个慢指针。像一把尺子,当尺子的一端移动到链表的末尾,则另一端则为倒数第k个节点。 思路 ...
题目:输入一个链表,输出该链表中倒数第k个结点 代码如下 运行截图 ...
求链表的倒数第K个节点:主要思路设置两个指针,刚开始都指向链表的第一个节点,第一个指针先走k-1步,然后两个一块走,直到第一个指针的下一位为nullptr,则第二个指针所指的位置就是倒数第k个节点。 在编程书上看见这个方法,自己画了个链表试了试果然是这样,但是这是个什么原理 ...
LeetCode–链表中倒数第k个节点 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 介绍 剑指 Offer 22. 链表中倒数第k个节点 题目 输入一个链表,输出该链表中倒数第k个节点。为了符合 ...
题目 输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。 解题思路 1.不可行的常规解法 为了得到倒数第k ...
1、先将链表遍历一次,求出链表的长度,之后再进行查找,找出第n-k个节点就是倒数第k个节点。 2、设置一个指针,一次向后移动k次,如果最后一次指向空节点,说明链表已经结束,那么第一次指向的节点就是倒数第k个节点。 3、设置两个指针,中间差k-1,当第一个节点移动到末尾时,第二个节点指向 ...