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

LeetCode 606.根据二叉树创建字符串,102.二叉树的层序遍历和牛客 二叉搜索树与双向链表

在这里插入图片描述

文章目录

  • 1. 根据二叉树创建字符串
  • 2. 二叉树的层序遍历
  • 3. 二叉搜索树与双向链表

1. 根据二叉树创建字符串

在这里插入图片描述
难度 简单 题目链接

解题思路
这里的意思就是:用前序遍历遍历这颗树。然后左子树和右子树分别在一个括号里。括号里的规则是:
1.左右都为空,或者右为空左不为空,空括号可以省略。
2.左为空,右不为空。空括号不能省略

代码如下
在这里插入图片描述
这道题的难点主要是控制左右的情况。

2. 二叉树的层序遍历

在这里插入图片描述
难度 中等 题目链接

二叉树的层序遍历的层序遍历如果大家不会,可以看我这篇文章:二叉树如何层序遍历。这篇文章说的非常详细。
解题思路
这道题的难点是什么呢
主要是我们怎么让每一层的数据放进一个数组里。什么时候再放在下一个数组中。其实我们可以用一个变量来控制层数,然后每次一层一层出,出完一层,再出下一层

代码如下
在这里插入图片描述
在这里插入图片描述
还有一题是从下往上层序遍历。这个题我们只需要把前面的数组vv给逆置一下就行了。

3. 二叉搜索树与双向链表

在这里插入图片描述
难度 中等 题目链接

这道题大家可能会想用中序遍历,遍历一个创建一个空结点,然后链接起来。但是题目要求不允许,只能在原来树上改变。
在这里插入图片描述
解题思路
定义一个cur和一个prev,然后中序遍历
在这里插入图片描述
找到第一个不是空结点的位置,然后让cur的left指向prev
在这里插入图片描述
然后中序到下一个位置,让prev的right指向cur

代码如下
在这里插入图片描述
因为题目要我们传递的是头指针,所以我们还需要找头。
在这里插入图片描述

http://www.lryc.cn/news/15501.html

相关文章:

  • 02-18 周六 图解机器学习之SMV 第五章5-2
  • Spring Boot系列--创建第一个Spring Boot项目
  • 手把手教你用React Hook和TypeScript从零实现虚拟滚动列表组件
  • 界面控件DevExpress WPF Pivot Grid——拥有强大多维数据分析能力!
  • python字典及基础操作
  • Windows Server 2008 R2安装onlyoffice【docker】
  • JVM学习笔记六:运行时数据区之堆
  • usb闪存驱动器数据恢复该怎么进行?3个方法总结
  • DAX 微信 markdown 编辑器
  • 湖南中创教育为学员提供方便快速的退费服务
  • Java 给视频添加背景音乐 | Java工具
  • 【JUC2022】第二章 多线程锁
  • 快学会这个技能-.NET API拦截技法
  • stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
  • Hystrix资源隔离
  • 字符串(一)-- LeetCode[3] 无重复字符的最长子串
  • Qt中修改界面类的类名时需要注意的几个修改点
  • 【Spring6】| Spring启示录、Spring概述
  • react源码中的fiber架构
  • C++类和对象-继承多态
  • appium自动化测试
  • 打印流、转换流、数据流 、随机访问流
  • Java的4种访问权限?
  • APP任务模块功能借助php-resque实现业务解耦
  • 怎么做,才能在职场中晋升?
  • Vulnhub靶场----2、DC-2
  • Java 基础(3)—synchornized 关键字简单理解
  • 【Linux】调试工具gdb的使用
  • 大数据知识图谱项目——基于知识图谱的医疗知识问答系统(详细讲解及源码)
  • 威马汽车:跃马扬鞭未竟,鞍马劳顿难行?