`
songkang666
  • 浏览: 105547 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

定位链表倒数第m个结点

 
阅读更多
题目描述:
给定一个链表,找到倒数的第m个结点。
如:1->2->3->4->5->6->7->NULL,找到倒数第3个,即5这个结点。

思路:
用两个指针,first和second,同时指向头结点,然后让second移动到与first所指向的结点距离为m-1的结点,然后同时向后移动first及second,直到second指到NULL。

Node *get_last_m_node(Node *head, int m) {
     Node *first, *second;
     first = second = head;
     while(--m) {
          second = second->next;
          if(!second) {
               return NULL;
          }
     }
     
     while(second->next) {
          first = first->next;
          second = second->next;
     }
     
     return first;
}
分享到:
评论

相关推荐

    删除链表中倒数第N个结点

    在这个问题中,我们需要处理一个特殊的链表操作,即“删除链表中倒数第N个节点”。这个任务在C++编程中尤为常见,因为它涉及到基本的指针操作和算法设计。 链表由一系列节点组成,每个节点包含数据和指向下一个节点...

    仅遍历一次得到链表的倒数第n个结点

    当我们谈论“倒数第n个结点”时,这意味着在链表的末尾开始计数,向前数到第n个节点。例如,如果链表有10个节点,倒数第3个节点实际上是第7个节点。这个问题的关键在于如何高效地找到这个节点,而无需进行多次遍历或...

    查找链表中倒数第K个节点

    查找链表中倒数第K个节点,源代码验证通过,两种查找方法。

    2009计算机考研题:查找链表中倒数第k个结点

    本题目的核心是查找链表中的倒数第k个节点,这是一个经典的链表问题,常见于面试和考研试题中。下面我们将深入探讨这个问题以及如何通过编程解决。 首先,链表是由一系列节点组成的数据结构,每个节点包含一个数据...

    python实现获取单向链表倒数第k个结点的值示例

    本篇将详细讲解如何使用Python实现获取单向链表倒数第k个结点的值,并通过实例分析相关操作技巧。 首先,我们需要定义链表的节点类`Node`,它包含一个数据项`item`和一个指向下一个节点的引用`next`。节点的初始化...

    Danceiny#WikiNotes#链表中倒数第k个结点1

    题目输入一个链表,输出该链表中倒数第k个结点思路将输入链表赋给两个链表;然后和另外一个链表一起走到链表尾,另外一个链表即在倒数第k个结点。if head ==

    19删除链表的倒数第 N 个结点.zip

    19删除链表的倒数第 N 个结点.zip

    删除链表的倒数第 N 个结点.md

    删除链表的倒数第 N 个结点.md

    一次遍历找链表倒数第n个节点

    ### 一次遍历找链表倒数第n个节点 在计算机科学中,链表是一种常用的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。有时候我们需要找到链表中的特定节点,例如倒数第n个节点。本篇文章将...

    python-leetcode题解之019删除链表的倒数第N个结点

    python python_leetcode题解之019删除链表的倒数第N个结点

    删除链表的倒数第 N 个结点(java代码).docx

    ### 删除链表的倒数第 N 个结点 #### 问题描述 在计算机科学中,链表是一种常见的数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。本篇文章讨论的问题是“如何删除链表中的倒数第 N 个结点”...

    删除链表的倒数第 N 个结点(链表+栈)1

    给定一个单链表的头结点 `head` 和一个整数 `n`,我们需要找到链表的倒数第 N 个节点并将其删除,同时返回修改后的链表头结点。题目中还提到了进阶要求,即尝试使用一次遍历来实现。 首先,我们来看链表的定义。在 ...

    链表中倒数第k个结点

    输入一个链表,输出该链表中倒数第k个结点 解题思路 本题的思路和之前看矩形那一题有相似之处,就是我们优先考虑边界情况,比如本题,我们需要查找链表中的倒数第K个节点,那么想象此时身处链表最后的位置,我想要...

    怎样找到链表倒数第k个元素

    题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。 分析:使用两个指针,low,fast,先把fast的指针指向第k个元素,然后low和fast同时向后遍历,当fast遍历到结尾时,low...

    C语言实现输出链表中倒数第k个节点

    然后,它使用两个指针 `pKnode` 和 `head` 分别遍历链表,先移动 `k` 步使 `pKnode` 指向倒数第k个节点的前一个节点,再同时移动两个指针直到 `head` 达到链表末尾。此时 `pKnode` 将指向倒数第k个节点。 在 `main`...

    python 删除链表中倒数第N个节点(csdn)————程序.pdf

    本题涉及的是如何在单链表中删除倒数第N个节点。这里提供了两种解决方案,分别称为解题思路一和解题思路二。 **解题思路一** 这个方法通过创建一个新的链表来实现。首先,遍历原链表计算其长度`count`。然后,根据...

    0019. 删除链表的倒数第 N 个结点.md

    0019. 删除链表的倒数第 N 个结点.md 个人经导师指导并认可通过的高分项目,评审分98分。主要针对计算机相关专业和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 个人经导师指导并认可通过的高分项目...

    java-leetcode题解之第19题删除链表的倒数第N个结点.zip

    本题解集中于LeetCode的第19题,即“删除链表的倒数第N个节点”。这道题目主要涉及链表操作,特别是涉及到链表的遍历和节点删除,是链表数据结构的基础应用之一。 首先,我们需要理解链表的基本概念。链表是一种...

    剑指Offer(Python多种思路实现):链表中倒数第k个节点

    题:输入一个链表,输出该链表中倒数第k个结点。 解题思路一:为了实现只遍历链表一次就能找到倒数第k个节点,我们可以定义两个指针。让第一个指针先向前走k-1步,第二个指针保持不动;从第k步开始,第二个指针也...

Global site tag (gtag.js) - Google Analytics