【牛客刷题专栏】0x08:C数据结构栈实现反转链表
创始人
2024-01-16 22:14:17
0

前言

  • 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失
  • 个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 牛客数据结构题目位置如下:
    在这里插入图片描述

目录

  • 前言
  • 问题描述:
  • 举例:
  • 解法思路1:
  • 代码结果1:
  • 解法思路2:
  • 代码结果2:
  • 结束语


问题描述:

给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。

数据范围:0≤n≤1000
要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。

如当输入链表{1,2,3}时,
经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。
以上转换过程如下图所示:
在这里插入图片描述


举例:

//例1:
//输入:
{1,2,3}
//返回值:
{3,2,1}
//============
//例2:
//输入:
{}
//返回值:
{}
//说明:空链表则输出空

解法思路1:

  • 直接使用最后一个结点当做头结点

代码结果1:

/*** struct ListNode {*	int val;*	struct ListNode *next;* };*//*** @param pHead ListNode类 * @return ListNode类*/
struct ListNode* ReverseList(struct ListNode* pHead ) 
{//如果只有一个结点 或者 无结点 返回本身if(pHead->next == NULL || pHead == NULL){return pHead;}struct ListNode *p,*q;p = pHead;//q指向最后一个结点 p指向倒数第二个结点while(p){if(p->next->next == NULL){q = p->next;break;}p = p->next;}q->next = NULL;p->next = NULL;//头插法while(pHead){p = pHead;pHead = pHead->next;p->next = q->next;q->next = p; }return q;
}

解法思路2:

  • 创建头结点

代码结果2:

/*** struct ListNode {*	int val;*	struct ListNode *next;* };*//*** @param pHead ListNode类 * @return ListNode类*/
struct ListNode* ReverseList(struct ListNode* pHead )
{//若pHead 不存在 在直接返回pHeadif(!pHead) return pHead;//创建一个头结点struct ListNode *L = (struct ListNode*)malloc(sizeof(struct ListNode));L->next = NULL;struct ListNode *p;p = pHead;//头插法while(p){struct ListNode *q = p->next;p->next = L->next;L->next = p;p = q;}return L->next;
}

结束语

  • 以上就是C数据结构栈实现反转链表的内容。可以在牛客尝试刷几道题目来练习实践。牛客网刷题(点击可以跳转),可以尝试注册使用。
    在这里插入图片描述

相关内容

热门资讯

会主持词开场白 会主持词开场白  篇一  尊敬的各位领导、各位来宾  各位公司同仁:  大家下午好!  非常高兴和大...
中国人寿保险公司晨会主持词 中国人寿保险公司晨会主持词  主持词由主持人于节目进行过程中串联节目的串联词。以下是小编整理的中国人...
公司中秋晚会主持词 关于公司中秋晚会主持词  主持词分为会议主持词、晚会主持词、活动主持词、婚庆主持词等。在当今不断发展...
小学生职位竞选词 小学生职位竞选词  个人觉得竞选中队长,你已经很清楚中队长需要做的事情了,那么就从每一个任务来发展一...
在结婚典礼上的精彩幽默主持词 在结婚典礼上的精彩幽默主持词各位来宾:大家好!奉新郎新娘之命,我来主持今天的婚礼。为什么新郎新娘一定...
婚礼主持人搞笑台词 婚礼主持人搞笑台词  各位来宾:  大家好!奉新郎新娘之命,我来主持今天的婚礼,婚礼主持人搞笑台词。...
幼儿园运动会主持稿 幼儿园运动会主持稿  篇一:幼儿园运动会主持词  踏着春天的脚步,踩着春风的节拍,春天已经来到我们中...
小学庆元旦活动主持词 小学庆元旦活动主持词  利用在中国拥有几千年文化的诗词能够有效提高主持词的感染力。在当今社会生活中,...
爵士舞蹈串词主持词   爵士舞即美国现代舞,是一种急促又富动感的节奏型舞蹈,是属于一种外放性的舞蹈,不像古典芭蕾舞或现代...
幼儿园元旦节目主持词   齐x:亲爱的爸爸妈妈  周x:亲爱的爷爷奶奶  王x:亲爱的老师  李x:亲爱的小朋友们  合:...
运动会运动员赞美词 运动会运动员赞美词1.赞运动员是我们的目标,是我们的信念,在清凉的初秋,在喧嚣的田径场上,。你们点燃...
黄梅戏晚会的主持词 黄梅戏晚会的主持词  戏迷欢庆四一八 黄梅又添新奇葩  ——喜迎418暨欢庆黄梅戏艺术团成立的晚会台...
学校秋季运动会开幕主持词 学校秋季运动会开幕主持词(精选6篇)  主持词要注意活动对象,针对活动对象写相应的主持词。在当今社会...
庆祝五四文艺晚会主持稿 庆祝五四文艺晚会主持稿  男:尊敬的各位领导、来宾  女:电视机前的观众朋友们  合:大家好  男:...
最新品鉴会主持词 最新品鉴会主持词  鉴会现在开始!  女:各位领导,各位嘉宾  男:女士们、先生们  合:大家下午好...
端午节晚会主持词 精选端午节晚会主持词(通用8篇)  根据活动对象的不同,需要设置不同的主持词。时代不断在进步,很多场...
论坛一周年庆典晚会主持词 论坛一周年庆典晚会主持词  主持词是由主持人于节目进行过程中串联节目的串联词。如今的各种演出活动和集...
最新研讨会主持词 最新研讨会主持词(通用11篇)  主持词分为会议主持词、晚会主持词、活动主持词、婚庆主持词等。在现在...
重阳节的主持词 重阳节的主持词  主持词分为会议主持词、晚会主持词、活动主持词、婚庆主持词等。在人们越来越多的参与各...