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

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.xdnf.cn/news/12274.html

相关文章:

  • NX985NX988美光固态闪存NY103NY106
  • Selenium 查找页面元素的方式
  • 任务调度器-关于中心化调度 vs 去中心化调度的核心区别
  • 计算机操作系统知识点总结④【完】
  • Python应用函数调用(二)
  • xshell使用pem进行远程
  • 408第一季 - 408内容概述
  • 高压危险铁塔大字金属安全警示牌技术解析
  • Java开发中复用公共SQL的方法
  • 【高等数学】傅里叶级数逼近例子
  • Code Composer Studio导入DSP工程编译报错
  • 用电脑控制keysight示波器
  • 2025年渗透测试面试题总结-ali 春招内推电话1面(题目+回答)
  • Mysql 身份认证绕过漏洞 CVE-2012-2122
  • Git 推送失败解决教程——error: failed to push some refs to
  • 世事无常,比较复杂,人可以简单一点
  • SELinux是什么以及如何编写SELinux策略
  • 亲测解决The scripts pylupdate5.exe, pyrcc5.exe and pyuic5.exe which is not on PATH
  • BLEU评分:机器翻译质量评估的黄金标准
  • 多模态大模型1、概览与前置任务
  • 部署DNS从服务器
  • JUnit
  • 微服务网关SpringCloudGateway+SaToken鉴权
  • 当.txt无法打开,如何恢复成记事本
  • 2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版
  • Python数据可视化科技图表绘制系列教程(四)
  • 好得睐:以品质守味、以科技筑基,传递便捷与品质
  • C++中`printf`格式化输出的实用案例和说明
  • 【项目实践】SMBMS(Javaweb版)(三)登出、注册、注销、修改
  • 成工fpga(知识星球号)——精品来袭