LeetCode 226 翻转二叉树

LeetCode 226 翻转二叉树

问题描述:
翻转一棵二叉树。

执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:36.6 MB, 在所有 Java 提交中击败了16.33%的用户

递归

  • 将当前根节点下两棵子树交换位置
  • 将两棵子树进行翻转
class Solution {
    public TreeNode invertTree(TreeNode root) {
        //根节点两子树交换位置,两子树翻转
        if(root==null) {
            return root;
        }

        //子树翻转
        TreeNode invertLeftTree = invertTree(root.left);
        TreeNode invertRightTree = invertTree(root.right);
        //子树交换
        root.left = invertRightTree;
        root.right = invertLeftTree;

        return root;
    }
}
原文地址:https://www.cnblogs.com/CodeSPA/p/13677218.html