链表中倒数第K个结点

【golang】链表(输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针) 描述 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。 链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; 正常返回倒数第k个结点指针,异常返回空指针 本题有多组样例输入。 输入描述: 输入说明 1 输入链表结点个数 2 输入链表的值 3 输入k的值 输出描述: 输出一个整数 示例1 输入: 8 1 2 3 4 5 6 7 8 4 复制 输出: 5 这道题和链表貌似没有什么关系,他给的结构 阅读详情

题目:输入一个链表 输出该链表中倒数第K个结点 从1开始计数 即链表的尾结点是倒数第1个结点 如一个链表有6个结点

从头结点开始他们的值一次为1 2 3 4 5 6 这个链表的倒数第3个结点值为4


链表结点定义如下:


struct ListNode
{
int m_nValue;
ListNode *m_pNext;
};



----------------------------------------




#include <iostream>
using namespace std;

struct ListNode
{
int m_nValue;
ListNode *m_pNext;
};

ListNode *creatlist(int n)
{
	ListNode *p=(ListNode *)malloc(sizeof(ListNode));
	ListNode *s=p;
	int temp=0;
	if(n==0)
	{
		p=NULL;
		return p;
	}
	cout<<"输入第"<<0<<"个结点:";
    cin>>temp;
	p->m_nValue=temp;
	p->m_pNext=NULL;
	for(int i=1;i<n;i++)
	{
		ListNode *t=(ListNode *)malloc(sizeof(ListNode));
		cout<<"输入第"<<i<<"个结点:";
		cin>>temp;
		t->m_nValue=temp;
		t->m_pNext=NULL;
		p->m_pNext=t;
		p=t;
	}
	p->m_pNext=NULL;
	return s;
}
int finds(ListNode *s,int k)
{
	ListNode *p1=s;
	ListNode *p2=s;
	if(k<=0)
		return -1;
	while(k)
	{
		if(p1==NULL)
			return -1;//查找错误~~~~
		p1=p1->m_pNext;
		k--;
	}
	while(p1)
	{
		p1=p1->m_pNext;
		p2=p2->m_pNext;
	}
	return (p2->m_nValue);

}
int main()
{
	int n;
	cout<<"输入链表结点个数:";
	cin>>n;
	ListNode *head=creatlist(n);
	int k=0;
	cout<<"输入要查找的倒数第K个结点:";
	cin>>k;

	cout<<finds(head,k)<<endl;
	return 0;
}


用yolov8训练自己的模型并调取摄像头实时检测,新手小白超友好教程!逻辑梳理,从0开始逐步实操❤ 帮新手小白学会用yolov8,包含多篇高质量博客整理 阅读详情

相关推荐

华为海思IC前端中后端(COT&XPU)岗位笔试机考题

华为海思COT和XPU部门IC前端,IC中端,IC后端岗位笔试真题分享

weixin_37584728的博客 3361

数据结构-输出单链表倒数第K个结点值

【问题描述】输入一个单向链表,输出该链表中倒数第k个结点,链表的最后一个结点是倒数第1个节点。【输入形式】输入第一位为K值,其后接一串以空格分隔的整型值,输入-1时停止建立链表。【样例说明】K值为3,则输出链表倒数第3个结点的值,为4;数据输入间以空格隔开。【输出形式】输出为倒数第K个结点的值,若无,则输出Not Found。【样例输入】3 13 45 54 32 1 4 98 2 -1。

m0_63581095的博客 2918

Halcon深度学习实战:基于异常值检测的工业缺陷精准识别方案

本文详细介绍了Halcon深度学习中的异常值检测技术在工业缺陷识别中的应用。该方法仅需少量正常样本即可训练,能有效应对未知、多变的缺陷类型,显著降低项目启动门槛。文章提供了从数据准备、模型训练、参数调优到产线部署的完整实战指南,并分享了关键的性能优化与避坑经验。

weixin_29042035的博客 243

输入一个链表,输出该链表中倒数第k个结点

文章目录一、题目二、思路三、代码 一、题目 输入一个链表,输出该链表中倒数第k个结点 二、思路 一,先排除掉非法情况,链表为空和k值非法 二,计算链表长度size 三,得到倒数第k个结点需要向后走的步数:steps = size - k 四,向后走steps步,得到倒数第k个结点 三、代码 /* public class ListNode { int val; ListNode n...

欢迎来到 晨 的博客 553

Glue)《Multi-omics single-cell data integration and regulatory inference with graph-linked embedding》

论文引入GLUE框架,通过知识引导图(guidance graph)显式建模跨层调控交互,桥接特征空间,实现准确、鲁棒、可扩展的整合。近年来,单细胞测序技术(如scATAC-seq用于染色质可及性、snmC-seq用于DNA甲基化、scRNA-seq用于转录组)允许同时探测多个组学层,揭示细胞异质性和调控机制。GLUE优于现有方法:桥接特征空间,避免信息丢失,支持多组学和调控推断。用于整合未配对的单细胞多组学数据(如scRNA-seq、scATAC-seq和snmC-seq),并同时进行调控交互推断。

m0_58293236的博客 1151

微腔光频梳仿真入门:MATLAB求解LLE方程全流程解析

光学频率梳在精密测量、光通信和微波光子学中有着广阔应用,而微环谐振腔中的Kerr非线性与四波混频效应能够紧凑地产生宽带梳齿。仿真这类系统的核心是求解Lugiato-Lefever方程(LLE),但直接从物理参数到数值代码往往让初学者无从下手。本文从微腔光频梳的物理图像出发,介绍LLE方程的推导与归一化方法,并重点讲解MATLAB数值实现的两种思路:基于ode45的频域耦合方程组求解与分裂步长RK4IP方法。同时讨论失谐扫描、孤子态识别、参数稳定性边界,以及如何将真实器件参数换算为无量纲仿真参数。无论你是刚接

weixin_32325225的博客 292

输出单链表中倒数第k个结点

题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下: struct ListNode {       int       m_nKey;       ListNode* m_pNext; }; 分析:为了得到倒数第k个结点,很自然的想法是先走到链表的尾端,再从尾端回溯k步。可是输入的是单向链表,只有从前往后的指针而没有从后往前的指针

tanyujing的专栏 3180

雷达工程师避坑指南:STAP处理中,间歇采样转发干扰为什么这么难对付?

本文深入解析了STAP处理中间歇采样转发干扰(ISRJ)的挑战与应对策略。通过分析ISRJ的工作机制和自由度消耗问题,结合仿真数据对比,揭示了其与传统压制干扰的本质差异。文章还探讨了在工程实践中如何构建有效的防御体系,包括降维处理技术选择和混合架构设计,为雷达工程师提供了实用的避坑指南。

weixin_30530339的博客 267

22.链表中倒数第K个节点

题目描述 输入一个链表,输出该链表中倒数第k个结点。 思路1:如果链表的长度为n,倒数第k个节点,就是正着数的第(n-k+1)个节点。那么先遍历一遍,数一下链表的长度。然后走到正着数的那个节点就好。注意判断,如果链表长度不够k,那么就没有倒数第k个节点,返回None。如果头指针为空,那么也直接返回None。这样的思路是遍历了两遍的,能不能遍历一遍呢?可以! python题解: # -*-...

luolan9611的博客 754

STM32F4_DHT11数字温湿度传感器

开机的时候先检测是否有DHT11存在,如果没有,则提示错误。DHT11和DS18B20相同,传感器输出的都是未编码的二进制数字。本节我们将利用STM32F4来读取DHT11的温湿度传感器,获取环境的温度和湿度值。因此:温湿度的读取方式就是整数部分的二进制转换成十进制放在整数部分;小数部分的二进制转换成十进制放在小数部分。DHT11和MCU的一次通讯时间最大3ms,主机连续向DHT11采样的间隔建议不小于100ms。DHT11是广州奥松有限公司生产的一款温湿度一体化的数字传感器。数据分小数部分和整数部分。

light_2025的博客 3431

DAF-Net:动态注意力红外-可见光图像融合

DAF-Net 红外-可见光融合链路:IR/VIS 双分支 (Conv+ResBlock → 64ch) → DynamicAttentionFusion (Cat→Sigmoid→加权) → 重建 (Conv→Sigmoid)。TNO 上 SSIM=0.782 (vs IR), 0.734 (vs VIS), 参数量仅 218K。核心贡献:轻量动态注意力门控, 无监督 SSIM+MSE 损失不需要配准 ground truth。

FJN110的博客 318

查找链表中倒数第k个结点

题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; 分析:为了得到倒数第k个结点,很自然的想法是先走到链表的尾端,再从尾端回溯k步。可是输入的是单向链表,只有从前往后的指针而没有从后往前的指针。因此...

hummingbird0的博客 1249

C#上位机通信层封装:西门子S7NetPlus库的优雅使用

支持S7-1200/1500(机架号0,槽号1)、S7-300/400(机架号/槽号需根据实际配置);支持位(Bit)、字节(Byte)、字(Word)、双字(DWord)、浮点数(Float/Double)等数据类型的读写;支持DB块、输入寄存器(I)、输出寄存器(Q)、内存寄存器(M)、定时器(T)、计数器(C)的操作;轻量无依赖,兼容.NET 5+。首先定义核心枚举和常量,统一规范参数类型,避免硬编码。/// 西门子PLC型号(对应不同的机架/槽号默认配置)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1085

链表的中间结点与链表的倒数第k个结点(精美图示详解哦)

链表的中间结点与链表倒数第k个结点详解,图例包理解哦,确定不进来看看嘛

weixin_73450183的博客 1554

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

返回链表中倒数第K个结点

返回链表中倒数第K个结点 题目 请写一算法,该算法用尽可能高的时间效率找到list所指的线性链表的倒数第K个结点,若找到,返回该结点的信息,如果没有找到,返回NULL(2009年硕士研究生入学考试计算机全国联考题)。 分析 主要思路分三步: 第一步:让指针p指向第K个结点 第二步:再设置指针q指向链表的初始位置,即list所指的位置 第三步:循环,让p,q同时向链表尾部移动,当p移到最后结点时,...

honeylife的博客 927

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

输出一个单向链表,找出倒数第k个结点的值

输出一个单向链表,找出倒数第k个结点的值 输入描述: 1.输入链表结点的个数 2.输入链表的值 3.输入k的值 示例1: 输入: 8 1 2 3 4 5 6 7 8 7 #include &lt;stdio.h&gt; #include&lt;stdlib.h&gt; //第一步定义结构体 typedef struct node{ int data; struct no...

alegria_x的博客 1179

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

链表中倒数第k个结点

题目描述 输入一个链表,输出该链表中倒数第k个结点。 方法一 假设所给链表的长度为n,那么倒数第k和节点就是从头结点开始第n-k+1个节点,所以需要遍历两次链表,第一次遍历得出链表的长度,第二次表理你获得第n-k+1个节点 public ListNode FindKthToTail(ListNode head,int k) { if(head == null || k <...

如是说的博客 287

输入一个单向链表,输出该链表中倒数第k个结点

/* copyright@nciaebupt 转载请注明出处 题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的 尾指针。链表结点定义如下: struct ListNode { int value; ListNode* next; }; 分析:如果我们在遍历时维持两个指针,第一个指针从链表的头指针开始遍历,在第k-1步之前, 第二个指针保持不动;在第k-1步开始,第二

nciaebupt 1339

求单链表中倒数第k个结点

题目:实现一个算法,找出单链表中倒数第k个结点。 解法:        下面以递归和非递归的方式解决这个问题。一般来说,递归解决更简洁,但是效率比较差。 例如,就这个问题来说,递归解法的代码量大概只有迭代解法的一半,但要占用O(n)空间,其中n为链表结点个数。 注意:         在下面的解法中,k定义如下:传入k=1将返回最后一个结点,k=2返回倒数第二个结点,依此类推。当然,也可

雪儿的专栏 2050

12 链表中倒数第k 个结点:输入一个链表,输出该链表中倒数第k 个结点。

一、题目 输入一个链表,输出该链表中倒数第k 个结点。为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6 个结点,从头结点开始它们的值依次是1 、2、3、4、5 、6。这个个链表的倒数第3 个结点是值为4 的结点。 二、解题思路 为了实现只遍历链表一次就能找到倒数第k 个结点,我们可以定义两个指针。第一个指针从链表的头指针开始遍历向前走k-1步,第二个指...

皮卡丘的博客 264

链表的倒数第k个结点

链表的倒数第k个结点 题目描述: 思路一: 为了能够只遍历一次就能找到倒数第k个节点,可以定义两个指针: 第一个指针从链表的头指针开始遍历向前走k,第二个指针保持不动; 从第k步开始,第二个指针也开始从链表的头指针开始遍历; 由于两个指针的距离保持在k,当第一个(也就是快的指针)走到空的时候,第二个指针(走在后面的)指针正好是倒数第k个结点。 代码如下: /** * Definition ...

weixin_43831728的博客 267

单链表中倒数第K个结点

单链表中倒数第K个结点 链表结点定义如下: typedef int ElemType; typedef struct Node { ElemType data; struct Node *next; }HeadList; 为了得到倒数第k个结点,很自然的想法是先走到链表的尾部,再从尾部回溯k步。而题中所给的链表结点定义可以看出是单向链表,没有从后往前的指针,因此这种思路是行不通的。 既然不能从尾部回溯,我们可以把思路回到头结点上。 假设整个链表有n个结点,那么倒数第k个结点就是从头结点开始的第n

weixin_43973403的博客 1509
上一篇: 调整数组顺序使奇数位于偶数前面
下一篇: 反转链表
Fivesplus
博客等级 码龄12年 1粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值