博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
反转链表
阅读量:4166 次
发布时间:2019-05-26

本文共 854 字,大约阅读时间需要 2 分钟。

一、题目:

在这里插入图片描述

二、解题思路:

方法一:循环

利用prev将链表指针指依次向其前驱。
在这里插入图片描述

方法二:递归

最后的节点作为开头节点往前倒推:
在这里插入图片描述

方法三:栈或者数组

设置额外的空间,例如栈,利用其先进后出的特性完成翻转;或者将链表元素依次放入数组中逆序输出。

三、代码和结果:

//方法一:循环迭代class Solution {
public: ListNode* reverseList(ListNode* head) {
ListNode* curr = head;//初始化定义curr ListNode* prev = nullptr;//定义prev,初始化为空 while(curr){
ListNode* next =curr->next; // ↑用于暂存next指向下一个节点,没有这句会导致执行一次以后链表断掉 curr->next = prev; prev = curr; curr = next; } return prev; }};
//方法二:class Solution {
public: ListNode* reverseList(ListNode* head) {
if(!head || !head->next)return head;//头或者头结点的下一个节点为空 ListNode* newH = reverseList(head->next);//递归 head->next->next = head;//指向自己 head->next = nullptr;//此时的head是尾结点 return newH; }};

方法一结果:

在这里插入图片描述

方法二结果:

在这里插入图片描述

转载地址:http://ziexi.baihongyu.com/

你可能感兴趣的文章
Bobo老师机器学习笔记第五课-简单线性回归
查看>>
Bobo老师机器学习笔记第五课-线性回归算法的评估指标
查看>>
简单线性回归-最小二乘法推导过程
查看>>
Bobo老师机器学习笔记第五课-多元线性回归
查看>>
Bobo老师机器学习笔记第六课-梯度下降法
查看>>
Bobo老师机器学习笔记第六课-梯度下降法在线性回归中的应用
查看>>
Bobo老师机器学习笔记第六课-调试梯度下降法
查看>>
Bobo老师机器学习笔记第七课-主成分分析法
查看>>
为什么我会要创建西安AIOPS学习群?
查看>>
Bobo老师机器学习笔记第七课-如何求得前N个主成分
查看>>
Bobo老师机器学习笔记第七课-如何通过PCA实现高维数据向低维数据的转换
查看>>
【工作经验】如何在IT外包公司快速成长?
查看>>
Bobo老师机器学习笔记第七课-sklearn中PCA的用法
查看>>
Bobo老师机器学习笔记第七课-使用PCA对MNIST数据集进行降噪
查看>>
Bobo老师机器学习笔记第七课-PCA在人工智能领域应用-特征脸
查看>>
Bobo老师机器学习笔记第八课-多项式回归
查看>>
Bobo老师机器学习笔记第八课-如何防止过拟合和欠拟合?
查看>>
Bobo老师机器学习笔记第八课-什么是交叉验证?
查看>>
Bobo老师机器学习笔记第八课-方差、偏差、岭回归、LASSO回归?
查看>>
当前开源的那些优秀AIOPS工具?
查看>>