单链表的逆转

6-1 单链表逆转 (20分) 本题要求实现一个函数,将给定的单链表逆转。 函数接口定义: List Reverse( List L ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNode List; /* 定义单链表类型 */ L是给定单链表,函数Reverse要返回被逆转后的 阅读详情

单链表的逆转

 利用3个指针遍历单链表,逐个链接点进行反转。

/*
只需要完成逆置链表函数
struct ListNode
{
	int val;
	struct ListNode *next;
	ListNode(int x) :
	val(x), next(NULL) 
	{
	}
};
*/
class Solution 
{
	public:
	ListNode* ReverseList(ListNode* pHead)
	{
		if(pHead==NULL||pHead->next==NULL) return pHead;
		ListNode*p,*q,*r;
		p = pHead;    
		q = pHead->next;  
		pHead->next = NULL;

		while(q)
		{  
			r = q->next;
			q->next = p; 
			p = q;   
			q = r;   
		}  
		pHead=p; 
		return pHead;      
	}
};


参考:http://blog.youkuaiyun.com/feliciafay/article/details/6841115

3-5 单链表分段逆转 pta 3-5 单链表分段逆转 (20分) 给定一个带头结点的单链表和一个整数K,要求你将链表中的每K个结点做一次逆转。例如给定单链表 1→2→3→4→5→6 和 K=3,你需要将链表改造成 3→2→1→6→5→4;如果 K=4,则应该得到 4→3→2→1→5→6。 函数接口定义: void K_Reverse( List L, int K ); 其中List结构定义如下: typedef struct Node PtrToNode; struct Node { ElementType Data; / 存储结点数据 阅读详情

相关推荐

鼎阳示波器SCPI指令与MD5算法解锁带宽升级实战

本文详细介绍了鼎阳示波器通过SCPI指令与MD5算法实现带宽升级的实战流程。从设备连接、信息获取到Python密钥生成脚本解析,逐步指导用户完成升级操作,并涵盖常见问题排查与功能选件激活指南,帮助用户充分释放设备潜能。

www00的博客 345

翻转链表-逆转链表-单向链表(容易理解)

/** * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * * @param pHead ListNode类 * @return ListNode类 */ struct ListNode* ReverseList(struct ListNode* pHead ) { struct ListNode *pCur = pHead; struct ListNode *pNex...

我的博客 327

魔兽世界怀旧服宏命令全解析:从自动换装到智能判定,老玩家才知道的黑科技

本文全面解析魔兽世界怀旧服宏命令的高级应用,从自动换装到智能判定,揭秘老玩家专属的黑科技技巧。深入探讨怀旧服特有的宏命令机制,包括施法队列、装备切换系统和职业专属技巧,帮助玩家在经典旧世版本中提升战斗效率。

weixin_29230865的博客 727

单链表逆转

如图,将第一列链表SLL1逆转为第二列SLL2。 以下是分析: 在单链表前面添加一个头结点,虽然在一定程度上浪费了空间,但是如果没有大的影响,会使后面很多操作很简单方便。 第0个指针命名为new,指向新的已经逆转好的单链表SLL2的头结点,第1个指针命名为old,指向还没有逆转好的链表SLL1的头结点。 首先,new指向1,old指向2,那么还需要第2个指针temp指向3,来记住3的位置,不

impossible == I'm possible ; 778

模拟IC版图DRC实战:手把手教你搞定MIM电容天线错误和ESD.10g违例

本文深入解析模拟IC版图中的MIM电容天线错误和ESD.10g违例问题,提供从错误解码到实战修复的完整指南。通过电路图修改、版图优化和验证闭环等步骤,帮助工程师高效解决DRC错误,特别适用于ADC等精密模拟电路设计。文章还分享了高级排错技巧和预防性设计策略,大幅提升流片成功率。

weixin_27697385的博客 295

数字IC设计避坑指南:为什么477条net的DRV问题无法修复?解析don‘t touch hierarchy的影响

本文深入解析了数字IC后端实现中,因“don't touch hierarchy”约束导致大量DRV违规(如477条net)无法自动修复的根本原因。文章以Cadence Innovus工具为例,详细阐述了DRV修复机制与设计保护约束的冲突原理,并提供了从日志定位、风险评估到分级解除约束的完整实战策略,帮助工程师有效解决此类设计收敛难题。

hope8的博客 290

单链表逆转的2种方法。

单链表逆转方法有很多: 这里谈两种: 1.再建一个链表然后,边遍历原来的链表,便是用头插法,完成新的单链表,这样子虽然内存损耗比较大,但是也是勉强可以完成的。 2.使用3个指针,逐个节点的逆转。 p q两个指针分别指向想要逆转关系的两个节点, p指向前一个节点,q指向后一个节点 r指向q后余下的链表。 具体操作: 这里我们忽略头节点,也是说连带头节点一起逆转。 初始化操作: p...

FREE_CODER 1万+

20231126-超详细Isaac Gym安装教程(基于双系统版本)

我一开始使用了WSL2虚拟环境试了集群服务器里面的交互式桌面,但是都失败了,WSL2因为没办法调用系统的GPU,应该有办法配置但我放弃了,感兴趣的可以自己探索(图片贴出来了)。服务器上出现的问题是Segmentation fault (core dumped),目前还没解决,有可能是驱动和cuda版本的问题(后面有时间再解决)等上图右边都达到了100%,就创建了一个名为rlgpu的conda环境,然后会出现success。注意安装版本要低于3.9!参考链接:非常详细,大家直接看这个博主的安装就行。

m0_37802038的博客 2万+

如何将单链表逆转(超详细)

单链表逆转的方法有很多,我也从很多博主那学习看到了各种各样的方法。今天就给大家总结一下个人认为较简便的四种方法。这四种方法不用开辟新的空间,所以不会造成空间浪费。 方法一:迭代 采用迭代的基本思路如下:我假设链表为1->2->3->4,那么但我完成链表的逆转后就应该是4->3->2->1。我将链表的头结点设为L,同时开辟两个新的节点q和p,我将利用L,q,p三个节点来进行迭代。 List Reverse(List L) { List p, q; .

weixin_55859275的博客 1万+

2026年职业院校技能大赛中职移动应用与开发模块二10套题库开发培训视频(全套)

2026年职业院校技能大赛中职移动应用与开发模块二10套题库开发培训视频(全套)

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 352

Kimodo 入门教程(一)英伟达开源人形机器人动捕数据集训练运动学动作扩散模型

Kimodo是一个基于700小时商用光学动作捕捉数据集训练的运动学动作扩散模型,能够生成高质量的人体和机器人3D动作。该模型支持通过文本提示和多种约束条件(如关键帧、末端执行器位置等)进行控制,并提供数字人类和类人机器人两种模型变体。安装方式包括软件包安装和源代码安装两种,需要配置HuggingFace令牌以访问文本编码器。推荐使用GPU加速,最低需要17GB显存。项目提供命令行生成和交互式演示两种使用方式,演示程序支持时间轴编辑和实时3D可视化。模型分为商用友好版和受限版,其中SMPL-X版本需要额外申请

2506_90492529的博客 1926

单链表分段逆转

3-5 单链表分段逆转 (20 分) 给定一个带头结点的单链表和一个整数K,要求你将链表中的每K个结点做一次逆转。例如给定单链表 1→2→3→4→5→6 和 K=3,你需要将链表改造成 3→2→1→6→5→4;如果 K=4,则应该得到 4→3→2→1→5→6。 函数接口定义: void K_Reverse( List L, int K ); 其中List结构定义如下: typedef struct...

wsl1530319_的博客 2630

YOLO11改进|注意力机制篇|引入MLCA轻量级注意力机制

YOLO11中添加MLCA轻量级注意力机制

A1983Z的博客 4054

C语言单链表的逆转

       单链表的逆转是一个基础的数据结构题,做起来不难。和解决这个问题一起写的还有做题的规矩,不能因一个问题简单就直接开始写代码,对于初学者来说,写代码前先写一个程序的大致框架是很有用的。 解题思路:        创建一个单链表,遍历这个链表并且以头插...

吴立赛的博客 1515

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

6-1 单链表逆转

6-1 单链表逆转(20 分) 本题要求实现一个函数,将给定的单链表逆转。 函数接口定义: List Reverse( List L ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /*...

LMengi000的博客 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 关于c++空指针0/NULL/nullptr三者的演变
下一篇: 数列中元素的最大差值
sumup
博客等级 码龄9年 5粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值