LeetCode 226.翻转二叉树

题目描述

给你一棵二叉树的根节点 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 <= Node.val <= 100

方法一

思路:

递归,每个小小的子树都需要翻转,把左节点指向右部翻转过的树。

代码:

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 left=invertTree(root.right);
        TreeNode right=invertTree(root.left);
        root.left=left;
        root.right=right;
        return root;
    }
}

参考链接:

相关推荐
Wei&Yan9 小时前
数据结构——顺序表(静/动态代码实现)
数据结构·c++·算法·visual studio code
爬山算法9 小时前
Hibernate(87)如何在安全测试中使用Hibernate?
java·后端·hibernate
云姜.10 小时前
线程和进程的关系
java·linux·jvm
是码龙不是码农10 小时前
支付防重复下单|5 种幂等性设计方案(从初级到架构级)
java·架构·幂等性
曹牧10 小时前
Spring Boot:如何在Java Controller中处理POST请求?
java·开发语言
heartbeat..10 小时前
JVM 性能调优流程实战:从开发规范到生产应急排查
java·运维·jvm·性能优化·设计规范
WeiXiao_Hyy10 小时前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
苏渡苇10 小时前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·设计模式·学习方法·责任链模式
团子的二进制世界10 小时前
G1垃圾收集器是如何工作的?
java·jvm·算法
吃杠碰小鸡10 小时前
高中数学-数列-导数证明
前端·数学·算法