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

每日一题---翻转二叉树

题目:翻转二叉树

注意与对称二叉树区分 

题解:

解法一:递归

这道题比较简单,所以有许多思路,我先展示个人认为最容易理解的递归

1.先处理业务,再完成向下递归的操作

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if (root == null) {
            return null;
        }
        TreeNode tmp = root.left; // 交换左右儿子
        root.left = root.right;
        root.right = tmp;
        invertTree(root.left); // 翻转左子树
        invertTree(root.right); // 翻转右子树
        return root;
    }
}

2.使用临时变量存储递归后的节点的左右

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if (root == null) {
            return null;
        }
        TreeNode left = invertTree(root.left); // 翻转左子树
        TreeNode right = invertTree(root.right); // 翻转右子树
        root.left = right; // 交换左右儿子
        root.right = left;
        return root;
    }
}

解法二:栈

这里借用Krahets的代码进行讲解

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if (root == null) return null;
        Stack<TreeNode> stack = new Stack<>() {{ add(root); }};
        while (!stack.isEmpty()) {
            TreeNode node = stack.pop();
            if (node.left != null) stack.add(node.left);
            if (node.right != null) stack.add(node.right);
            TreeNode tmp = node.left;
            node.left = node.right;
            node.right = tmp;
        }
        return root;
    }
}

图解:

root出栈 root.left,root.right入栈

进行出栈-交换-入栈

以此类推

 一次出栈两个并交换再入栈,直到为空...

那么以上就是全部题解了,欢迎大家补充更多解题思路,如有问题也欢迎大家指正!

相关文章:

  • 软件项目设计思维:从用户痛点到数字世界的优雅解构
  • 黑马商城完成随笔
  • 文心大模型4.5及X1重磅上线,真实测评
  • svg画图
  • MySQL复合查询
  • RocketMQ学习
  • 二次型 → 矩阵的正定性 → 特征值
  • 详解软件设计原则
  • python调用百度人脸识别接口
  • 第十一次CCF-CSP认证(含C++源码)
  • TensorFlow 基本原理与使用场景
  • 【SpringBatch】01简单入门
  • 简要分析NLMSG_DONE参数
  • Ubuntu下升级node.js从12.22到22.14
  • 商业智能BI分析中,汽车4S销售行业的返厂频次有什么分析价值?
  • 查看IP地址/Ping 命令
  • TX-LCN 框架
  • Couchbase Analytics 页面右侧的“Analytics Scopes, Links, Collections”等的解释
  • 在 ARM 嵌入式 Linux 下使用 C/C++ 实现 MQTT
  • HCIA-Access V2.5_14_3_1系统基本操作_管理操作用户
  • 泽连斯基:将带领乌代表团前往土耳其,已准备好与普京会谈
  • 联合国秘书长欢迎中美经贸高层会谈成果
  • 重庆一高校75万采购市价299元产品?工作人员:正在处理
  • 中国社科院:网文市场超430亿元,作者破3000万人
  • 习近平结束对俄罗斯国事访问并出席纪念苏联伟大卫国战争胜利80周年庆典回到北京
  • 三星“七天机”质保期内屏幕漏液被要求自费维修,商家:系人为损坏