leecode刷题 翻转二叉树

简介: 给定一棵二叉树的根节点 `root`,翻转这棵二叉树并返回其根节点。通过递归交换每个节点的左右子树来实现翻转。示例 1:输入 `root = [4,2,7,1,3,6,9]`,输出 `[4,7,2,9,6,3,1]`。示例 2:输入 `root = [2,1,3]`,输出 `[2,3,1]`。示例 3:输入 `root = []`,输出 `[]`。树中节点数目范围在 [0, 100] 内,节点值范围为 -100 到 100。

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。
示例 1:

image.png

输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]
示例 2:
image.png

输入:root = [2,1,3]
输出:[2,3,1]
示例 3:

输入:root = []
输出:[]

提示:

树中节点数目范围在 [0, 100] 内
-100 <= Node.val <= 100

/**
 * 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 left = root.left, right = root.right;
        root.left = invertTree(right);
        root.right = invertTree(left);

        return root;
    }
}
相关文章
|
24天前
leecode刷题 二叉树的直径
给定一棵二叉树的根节点,返回该树的直径。二叉树的直径是指树中任意两个节点之间最长路径的长度,这条路径可能经过也可能不经过根节点。两节点之间路径的长度由它们之间边数表示。
|
1月前
leecode刷题 对称二叉树
给定一个二叉树的根节点 `root`,检查该二叉树是否轴对称。轴对称意味着二叉树的左子树和右子树在结构和值上都完全镜像对称。示例 1 中的树 `[1,2,2,3,4,4,3]` 是对称的,而示例 2 中的树 `[1,2,2,null,3,null,3]` 不是对称的。节点数在 1 到 1000 之间,节点值范围为 -100 到 100。代码通过递归检查左右子树是否镜像对称。
29 13
|
1月前
leecode刷题 二叉树最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。叶子节点是没有子节点的节点。如果一个子树为空,则需考虑另一子树的高度。 示例 1:输入:root = [3,9,20,null,null,15,7],输出:2。示例 2:输入:root = [2,null,3,null,4,null,5,null,6],输出:5。提示:树中节点数的范围在 [0, 105] 内,-1000 <= Node.val <= 1000。
|
1月前
leecode刷题 相同的树
给定两棵二叉树的根节点 p 和 q,编写一个函数来判断这两棵树是否相同。如果两棵树在结构上相同且对应节点的值相等,则认为它们是相同的。示例包括完全相同的树、结构不同或节点值不同的树。节点数在 [0, 100] 范围内,节点值在 [-10^4, 10^4] 范围内。
32 11
|
1月前
leecode 刷题 二叉树的最大深度
给定二叉树根节点 `root`,返回其最大深度。最大深度是从根节点到最远叶子节点的最长路径上的节点数。例如,对于输入 `[3,9,20,null,null,15,7]`,输出为 `3`;对于输入 `[1,null,2]`,输出为 `2`。节点数量在 `[0, 104]` 范围内,值在 `[-100, 100]` 之间。
|
1月前
leecode刷题 二叉树 中序遍历
给定二叉树根节点,返回其节点值的中序遍历。示例1:输入root=[1,null,2,3],输出[1,3,2];示例2:输入root=[],输出[];示例3:输入root=[1],输出[1]。节点数范围[0,100],值范围[-100,100]。代码实现使用递归方法完成中序遍历。
|
8月前
|
存储 算法
算法题解-翻转二叉树
算法题解-翻转二叉树
|
8月前
|
算法
六六力扣刷题二叉树之翻转二叉树
六六力扣刷题二叉树之翻转二叉树
66 0
|
算法
代码随想录算法训练营第十四天 | LeetCode 102. 二叉树的层序遍历、LeetCode 226. 翻转二叉树、LeetCode 101. 对称二叉树
代码随想录算法训练营第十四天 | LeetCode 102. 二叉树的层序遍历、LeetCode 226. 翻转二叉树、LeetCode 101. 对称二叉树
63 0
|
存储 算法
每日刷题(翻转+二分+BFS)
每日刷题(翻转+二分+BFS)