力扣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;
    }
}

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

相关推荐
星空露珠18 小时前
迷你世界UGC3.0脚本Wiki全局函数
开发语言·数据库·算法·游戏·lua
小王不爱笑13218 小时前
排序算法 Java
数据结构·算法·排序算法
无敌憨憨大王18 小时前
二叉树的最短路径长度(BFS+DFS)
算法·深度优先·宽度优先
tankeven18 小时前
HJ132 小红走网格
c++·算法
小璐资源网18 小时前
算法黑箱的可解释性危机
算法
不想看见40419 小时前
Power of Four二进制特性--力扣101算法题解笔记
数据结构·算法
y = xⁿ19 小时前
【LeetCodehot100】T23:合并k个升序链表
java·数据结构·链表
做怪小疯子19 小时前
Leetcode刷题——8.重叠区间
算法·leetcode·职场和发展
2401_8578652319 小时前
C++模块接口设计
开发语言·c++·算法
add45a19 小时前
嵌入式C++低功耗设计
开发语言·c++·算法