【数据结构与算法】对单链表实现就地逆置
创始人
2025-06-01 13:24:51
0

前言

在学习数据结构与算法的链表知识点时,布置了一个有关链表转置操作的小作业,感觉主要难点就是需要实现就地逆置,很容易就会使用额外的空间来帮助这个单链表逆置。废话不多说,我们下面一起来看看题目是怎么样的。


题目以及要求

写一算法,对单链表实现就地逆置。


思想以及代码

这道题的主要难点就是要在不开辟新的空间的情况下和以及在保证链表不断的情况下,实现链表的逆置。

我解这道题的思路是:

  1. 计算链表L的长度(元素个数)

  1. 开始循环

  1. 使指针P指向最后一个节点(node -> next = null)

  1. 保证不断的情况下实现元素调换

  1. 进入下次循环

  1. 循环n - 1次后退出(n为链表L的长度)


code photo


diagrammatize


code

//找到链表L的最后一个元素
int * ListEnd(LinkList L){LinkList *p;p = first;while(p){p = p -> next;}return p;
}
//单链表的长度(元素个数)
int ListLength(LinkList L){LinkList p;p = first;int count = 0;while(p){p = p -> next; count ++;}return count;
}
//实现对单链表就地逆置
void ListReverse{int n;//算出L的长度n = LinkLength(L);//使得p指向最后一个节点p = ListEnd(L);//q指向是p的前驱节点// q -> next = p;q = GetPrior(L,p);//该部分代码未给出//进行n - 1 次循环for(int i = 0; i < n - 1; i++){p -> next = L -> next;L -> next = q -> next;//将q的指针域置空q -> next = null;//p指向q所指的指针p = q;//q所指的节点再次变成p的前驱节点q -> next = p;}
}

结束语

因为是算法小菜,所以提供的方法和思路可能不是很好,请多多包涵~如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!

相关内容

热门资讯

真相来了?谢稚柳之子发声,没听... 南博事件第一个真相来了吗?1961年的鉴定很可能不存在。南博这个事件,争议的核心点只有一个,那就是谁...
坚守价值与风控并行,弘康人寿获... 受长端利率下行及政策鼓励中长期资金入市等因素驱动,2025年险资持续加大对权益资产的配置力度。作为一...
“豆包会和岳云鹏一起讲相声吗”... 01.火山引擎将成为26年春晚独家AI云合作伙伴02.微信辟谣“点击直播链接会被盗号”03.小红书被...
4岁男童突然双眼近视1000度... 近日,郑州大学第一附属医院眼科接诊了一名特殊的小患者。一名4岁男童因经常眯眼、贴脸看电视被父母带到医...
「收盘」A股午后涨幅扩大,41... A股三大股指12月24日集体小幅高开。沪指早盘震荡攀升,深市则高位震荡。午后沪深两市同频上攻,三大股...
产品出海,枢纽联通:摩洛哥投资... 中国商报(记者 赵熠如 文/图)依托特色农产品的出口与世界级枢纽港口的运转,摩洛哥正在转型为跨洲际产...
明年最猛的科技赛道,基本定了!... 12月23日,长征十二号甲火箭发射升空,二级火箭进入预定轨道,但一级箭体未能成功回收。这已经是12月...
南充“密码女王”虚惊一场,浮盈... 文丨郭小兴 编辑丨杜海来源丨正经社(ID:zhengjingshe)(本文约为1600字)人称南充“...
广州市委书记调整 南方+客户端12月24日消息,近日,中央批准:冯忠华同志任广州市委书记;免去郭永航同志的广东省委常委...
茅台全系列产品涨价!飞天茅台再... 中国商报(记者 周子荑)12月24日,中国商报记者从第三方平台“今日酒价”获悉,茅台酒全系列产品市场...