码迷,mamicode.com
首页 > 其他好文 > 详细

226. 翻转二叉树

时间:2021-04-01 13:37:05      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:节点   没有   nod   strong   代码   temp   java   roo   交换   

难度 easy
翻转一棵二叉树。

示例:

输入:

 4

/
2 7
/ \ /
1 3 6 9
输出:

 4

/
7 2
/ \ /
9 6 3 1
备注:
这个问题是受到 Max Howell 的 原问题 启发的 :

解题思路:这道题比较简单,就是用递归的方式求解的,如果root是空节点或者没有子节点,那直接返回,否则交换root的左右节点(即使有一个是空的也当作存在),然后分别对左右子节点调用递归函数。

代码 t100 s34 java

class Solution {
    public TreeNode invertTree(TreeNode root) {
        if(root==null || (root.left==null && root.right==null)) return root;
        TreeNode temp = root.left;
        root.left = root.right;
        root.right = temp;
        root.left = invertTree(root.left);
        root.right = invertTree(root.right);
        return root;        
    }
}

参考资料

226. 翻转二叉树

标签:节点   没有   nod   strong   代码   temp   java   roo   交换   

原文地址:https://www.cnblogs.com/zhengxch/p/14604738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!