`

java-13.输入一个单向链表,输出该链表中倒数第 k 个节点

 
阅读更多
two cursors.
Make the first cursor go K steps first.

/*
	 * 第 13 题:题目:输入一个单向链表,输出该链表中倒数第 k 个节点
	 */
	public void displayKthItemsBackWard(ListNode head,int k){
		ListNode p1=head,p2=head;
		while(--k>0){
			p1=p1.next;
		}
		while(p1.next!=null){
			p1=p1.next;
			p2=p2.next;
		}
		System.out.println(p2.data+",");
	}
分享到:
评论

相关推荐

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

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

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

    在 `main` 函数中,我们先构建一个链表,然后调用 `print` 函数显示源链表,接着调用 `findKnode` 查找倒数第5个节点,并输出结果。测试用例包括空链表、正常链表(k小于等于链表长度)以及无效k值(k大于链表长度)...

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

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

    cpp代码-输入一个链表,输出该链表中倒数第k个结点。

    在这个问题中,我们需要设计一个算法,给定一个链表的头节点和整数k,返回链表中倒数第k个节点。 首先,我们定义链表节点的数据结构。通常,链表节点包含两个部分:数据域和指针域。例如: ```cpp struct ListNode...

    华为机试 高级题 链表的整合

    给你一个链表,节点有值域,计数器(表示值出现的次数,初始化为1),指针域,节点的值有重复的,去除重复的值,修改相应节点的计数器。这样做的好处就是节省的很多存储空间。 对即将参加华为机考的同学有非常大的帮助...

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

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

    取单链表倒数第k个元素

    在计算机科学中,单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。处理单链表的问题时,有时我们需要找到链表中的特定位置的元素,例如“取单链表倒数第k个...

    数据结构 链表 查找倒数第N个节点的值 查找中间节点的值

    在`CreateList`函数中,程序首先要求用户输入链表的长度,然后创建一个头节点,并将其`next`字段设置为`NULL`。接着,通过一个循环,每次读取用户输入的数据,并将其插入到链表的头部。这样,新节点会成为新的头节点...

    世界500强面试题.pdf

    1.3.2. 输入一个单向链表,输出该链表中倒数第 k 个结点............................. 44 1.3.3. 输入一个已经按升序排序过的数组和一个数字.................................... 46 1.3.4. 输入一颗二元查找树,...

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

    在Python编程中,单向链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的引用。本篇将详细讲解如何使用Python实现获取单向链表倒数第k个结点的值,并通过实例分析相关...

    算法-理论基础- 线性表- 双向链表(包含源程序).rar

    - 删除尾节点:遍历链表找到倒数第二个节点,更新其后继指针为null,然后释放尾节点。 - 删除中间节点:找到待删除节点的前一个节点,更新前一个节点的后继指针为待删除节点的后继节点,然后释放待删除节点。 4. ...

    C语言单向链表的基本操作12个

    删除尾部节点需要遍历找到倒数第二个节点;删除中间节点需要找到前一个节点并更新其指针。 4. **打印链表**: 遍历链表并逐个打印节点的数据,通常从头指针开始,通过每个节点的指针移动到下一个节点,直到遇到NULL...

    c语言-c语言编程基础之leetcode题解第19题删除链表的倒数第N个结点.zip

    这道题目要求我们在单向链表中找到倒数第N个节点并将其删除,而不需要预先知道链表的长度。 首先,我们需要理解链表的基本操作,如创建、插入、遍历和删除节点。在C语言中,链表节点通常通过结构体来定义,例如: ...

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

    对于这道题,我们需要处理单向链表,即每个节点只有一个指向下一个节点的指针。 删除链表的倒数第N个节点的关键在于找到这个特定的节点。一种直观的方法是遍历链表两次,但这种方法的时间复杂度为O(2n),效率较低。...

    前端大厂最新面试题-算法.docx

    * 字符流中第一个不重复的字符 * 链表中环的入口结点 * 删除链表中重复的结点 * 二叉树的下一个结点 * 对称二叉树 * 按之字形顺序打印二叉树 * 从上到下按层打印二叉树,同一层结点从左至右输出。 * 序列化二叉树 * ...

    创建双向链表_双向链表_

    双向链表的每个节点不仅包含数据,还包含两个指针,一个指向前一个节点(prev),另一个指向后一个节点(next)。这种设计使得我们可以从前向后或从后向前遍历链表,而不仅仅是单向。相比于单向链表,双向链表在某些...

    1_12313212313链表.7z

    单向链表中的每个节点包含数据部分和指向下一个节点的指针,而双向链表则增加了一个指针,用于指向前一个节点,这样可以方便地向前或向后遍历。 在“1_链表”这个压缩包文件中,可能包含了关于链表的各种实现和操作...

    数据结构之链表,C#链表;数据结构之链表,C#链表

    // 查找倒数第一个值为5的节点 ``` 6. **性能特点**:链表在插入和删除操作上的时间复杂度通常为O(1),因为这些操作仅涉及到局部节点的更改。然而,访问链表中的特定元素可能需要线性时间,即O(n),因为需要从头...

    一个比较简单的双向链表

    在计算机科学中,双向链表是一种数据结构,与单向链表类似,但每个节点不仅包含数据,还包含两个指针,一个指向前一个节点,另一个指向后一个节点。这使得双向链表在某些场景下比单向链表更加灵活,因为我们可以从前...

Global site tag (gtag.js) - Google Analytics