Leetcode刷题100天—剑指 Offer 22. 链表中倒数第k个节点(链表)—day26

Posted 神的孩子都在歌唱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode刷题100天—剑指 Offer 22. 链表中倒数第k个节点(链表)—day26相关的知识,希望对你有一定的参考价值。

前言:

作者:神的孩子在歌唱

大家好,我叫运智

剑指 Offer 22. 链表中倒数第k个节点

难度简单259收藏分享切换为英文接收动态反馈

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。

例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。

示例:

给定一个链表: 1->2->3->4->5, 和 k = 2.

返回链表 4->5.
package 链表;

public class 剑指Offer_22_链表中倒数第k个节点 {
//    使用顺序查找,假设链表长度是n,第k个节电就是链表的第n-k个节电
	public ListNode getKthFromEnd(ListNode head, int k) {
//    	定义一个指针,指向头节点
		ListNode node=head;
		int n=0;
//		通过for循环获取链表长度
		for(;node!=null;node=node.next) {
			n++;
		}
//		在for循环遍历一遍
//		只要我们指针指向第k个元素后的节点,那么就可以直接返回
		for(node=head;n>k;n--) {
			node=node.next;
		}
//		返回第k个元素后的节点
		return node;
    }
}

本人csdn博客:https://blog.csdn.net/weixin_46654114

转载说明:跟我说明,务必注明来源,附带本人博客连接。

以上是关于Leetcode刷题100天—剑指 Offer 22. 链表中倒数第k个节点(链表)—day26的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode刷题100天—剑指 Offer 50. 第一个只出现一次的字符(队列)—day13

Leetcode刷题100天—剑指 Offer 22. 链表中倒数第k个节点(链表)—day26

Leetcode刷题100天—剑指 Offer 22. 链表中倒数第k个节点(链表)—day26

刷题记录leetcode 剑指 Offer(第 2 版)03-11

leetcode刷题总目录

Leetcode刷题Python剑指 Offer 49. 丑数