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

day20 leetcode-hot100-38(二叉树3)

226. 翻转二叉树 - 力扣(LeetCode)

1.广度遍历

思路

这题目很简单,就是交换每个节点的左右子树,也就是相当于遍历到某个节点,然后交换子节点即可。

具体步骤

(1)创建队列,使用广度优先遍历。

(2)while循环判断当前队列是否为空,不为空,就将最前面的节点poll(),然后将该节点左右子节点加入队列(广度遍历的方案),再交换左右节点。

具体代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode invertTree(TreeNode root) {if(root == null){return root;}TreeNode ans = root;Deque<TreeNode>dq = new LinkedList<>();dq.offer(root);while(!dq.isEmpty()){TreeNode node = dq.poll();if(node.left!=null){dq.offer(node.left);}if(node.right!=null){dq.offer(node.right);}TreeNode temp = new TreeNode();temp=node.left;node.left = node.right;node.right=temp;}return ans;}
}

2深度优先遍历(前序遍历)

思路

与上面广度优先遍历一样,也是遍历到哪个节点,然后将该节点入栈,之后交换位置。

http://www.lqws.cn/news/160561.html

相关文章:

  • 第二章支线八 ·CSS终式:Tailwind与原子风暴
  • 优雅的系统重试
  • 如何轻松将视频从安卓设备传输到电脑?
  • 检测到 #include 错误。请更新 includePath。已为此翻译单元(D:\软件\vscode\test.c)禁用波形曲线
  • 【SSM】SpringMVC学习笔记8:拦截器
  • qt ui 转python
  • YAML在自动化测试中的三大核心作用
  • C++11 尾随返回类型:从入门到精通
  • Linux服务器如何安装wps?
  • 【案例】电商系统的AI微服务架构设计
  • C语言输入函数
  • 使用Python提取照片元数据:方法与实战指南
  • 炫云:为驱动数字视觉产业升级保驾护航
  • 解锁Java线程池:性能优化的关键
  • 八皇后问题深度解析
  • 11 - ArcGIS For JavaScript -- 高程分析
  • 图像分类进阶:从基础到专业 (superior哥AI系列第10期)
  • 窗口聚合窗口聚合
  • 倍福 PLC程序解读
  • NLP驱动网页数据分类与抽取实战
  • Linux(12)——基础IO(下)
  • YOLO在QT中的完整训练、验证与部署方案
  • TIA博途中的程序导出为PDF格式的具体方法示例
  • 系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
  • tcp/udp
  • 网页前端开发(基础进阶4--axios)
  • Neo4j 完全指南:从入门到精通
  • js 比较两个对象的值,不相等就push对象的key
  • 平台升级:新功能与新模型震撼登场!
  • 华硕电脑,全新的超频方式,无需进入BIOS