力扣hot100 - 226、翻转二叉树

题目:思路:递归三部曲:参数(root) 终止条件(root == null) 单层递归逻辑(将左右孩子交换,然后不断递归左右孩子)。要注意交换左右孩子时,引用传递的问题,我一开始

java 复制代码
/**
 * 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 null;
        TreeNode temp = root.left;
        root.left = root.right;
        root.right = temp;
        invertTree(root.left);
        invertTree(root.right);
        return root;
    }
}

是将局部变量在交换,实际上的对象完全没有交换。

相关推荐
青桔柠薯片2 小时前
数据结构:排序与算法
数据结构·排序算法
格林威2 小时前
Baumer相机轴承滚珠缺失检测:用于精密装配验证的 6 个核心算法,附 OpenCV+Halcon 实战代码!
人工智能·opencv·算法·计算机视觉·视觉检测·工业相机·堡盟相机
一起养小猫2 小时前
Flutter for OpenHarmony 实战:2048游戏算法与优化深度解析
算法·flutter·游戏
-Try hard-2 小时前
排序和查找算法:插入排序、希尔排序、快速排序以及二分查找
数据结构·算法·排序算法
Ivanqhz2 小时前
向量化计算
开发语言·c++·后端·算法·支持向量机·rust
ffqws_2 小时前
进阶搜索:迭代加深搜索(IDS)埃及分数题解
算法·迭代加深
格林威2 小时前
相机的“对焦”和“变焦”,这二者有什么区别?
开发语言·人工智能·数码相机·opencv·算法·计算机视觉·视觉检测
LXS_3572 小时前
常用算法(下)---拷贝、替换、算术生成、集合算法
开发语言·c++·算法·学习方法
历程里程碑2 小时前
Linux19 实现shell基本功能
linux·运维·服务器·算法·elasticsearch·搜索引擎·哈希算法