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

【从零开始刷力扣006】leetcode206

这里只复现代码,并写一下思路206-反转链表

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {//非空判断if(head==null||head.next==null){return head;}//三个节点ListNode pre=null;ListNode cur=head;ListNode nxt=head.next;//cur不为空时就可以连到“新链表”上while(cur!=null){//反转,把当前节点的next指向precur.next=pre;//接着pre移动,pre=cur;cur=nxt;if(nxt!=null){nxt=nxt.next;}}return pre;}
}
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* reverseList(ListNode* head) {//法2:递归解法,需要好好理解//第一个判断是确定非空,第二个判断用来找新链表头节点if (head == nullptr || head->next == nullptr) {return head;}ListNode* Last=reverseList(head->next);//环形赋值head->next->next=head;//置空head->next=nullptr;//Last找到后就不再改变了,它是新链表的头节点,后面的过程都是递归回溯后的head节点在改变。注意链表尾节点要置空 防止成环。return Last;}
};

一个迭代解法,一个递归解法。重点在于思考递归是怎样执行的,要对流程有大的把握。现阶段我还是感觉有些困难,加油b!

http://www.dtcms.com/a/391576.html

相关文章:

  • FreeRTOS——介绍及移植过程
  • Day 07 Physics list-----以B1为例
  • 重读一次IS015765-2,记录对错误和异常处理的方式
  • Edge浏览器CSDN文章编辑时一按shift就乱了(Edge shift键)欧路翻译问题(按Shift翻译鼠标所在段落)
  • SpringIoc 基础练习 验证码
  • 前端项目,CDN预热有什么用?
  • TF卡的存储数据结构—fat32格式
  • led的带宽在模拟太阳光中设备中的影响
  • go资深之路笔记(三) sync.WaitGroup, sync.errgroup和 sync.go-multierror
  • Docker 与数据库环境
  • Node.js 模块系统详解
  • proxy代理应用记录
  • 基于python大数据的汽车数据分析系统设计与实现
  • WebSocket实现原理
  • 从保存到加载Docker镜像文件操作全图解
  • IDEA文件修改后改变文件名和文件夹颜色
  • 【MySQL 】MySQL 入门之旅 · 第十篇:子查询与嵌套查询
  • TM52F1376 SSOP24电子元器件 HITENX海速芯 8位微控制器MCU 芯片 深度解析
  • 基于Matlab图像处理的工件表面缺陷检测系统
  • 业务上云实践MYSQL架构改造
  • 深入解析TCP/IP协议分层与通信原理
  • 【人工智能通识专栏】第二十讲:科创项目选题
  • 数据治理系列(三):SQL2API 平台格局与发展趋势
  • 软考-系统架构设计师 软件项目管理详细讲解
  • three.js添加CSS2DRenderer对象
  • 磁共振成像原理(理论)9:射频回波 (RF Echoes)-三脉冲回波(2)
  • 栈的主要知识
  • question:使用同一请求数据且渲染顺序不确定时复用
  • Redis群集三种模式介绍和创建
  • 【LeetCode 每日一题】1935. 可以输入的最大单词数