当前位置: 首页 > news >正文

35.反转链表

定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。

思考题:

  • 请同时实现迭代版本和递归版本。
数据范围

链表长度 [0,30]。

样例
输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL

 1.迭代操作

ListNode* reverseList(ListNode* head) {ListNode *prev=nullptr;ListNode *cur=head;while(cur){ListNode *next=cur->next;cur->next=prev;prev=cur;cur=next;}return prev;}

2递归操作

ListNode* reverseList(ListNode* head) {if(!head||!head->next)return head;ListNode *tail=reverseList(head->next);head->next->next=head;head->next=nullptr;return tail;}


http://www.mrgr.cn/news/47865.html

相关文章:

  • 数理统计(第2章第2节:估计量的好坏标准)
  • 【MWORKS专业工具箱系列教程】控制系列工具箱第六期:根轨迹分析
  • 若依-二级页面的跳转设计
  • 发论文创新点来了!KAN+时间序列预测,更高性能表现、更低资源占用
  • 无刷直流电机工作原理:【图文讲解】
  • 现代 C++ 模板教程 学习笔记
  • 前缀和算法——优选算法
  • 大疆电机M3508 PWM控制
  • 谐波电压和电流哪个对电容器的伤害更大
  • busybox设置默认环境变量
  • 黑龙江APP等保测评:构建安全防线,守护用户数据
  • PyCharm下载安装汉化教程!pycharm激活
  • AI如何赋能数字化转型?
  • 互联网协议(IP)中最常用的端口
  • 基于RK3588+AI的深度学习功能PLC设计,支持Codesys
  • k8s中pod管理
  • 最新eclipse安装教程及安装包获取-附JDK安装
  • 力扣10.11
  • 谈到数据集成和数据分析,这三个概念你得分清楚!
  • Linux入门:进程状态与优先级