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

226. Invert Binary Tree

时间:2017-09-26 21:03:14      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:经验   规律   levels   height   san   bin   row   null   通过   

Invert a binary tree.

     4
   /     2     7
 / \   / 1   3 6   9
to
     4
   /     7     2
 / \   / 9   6 3   1
翻转二叉树,本题属于容易题题目容易理解,可以通过层次遍历方法进行反转,类似【637. Average of Levels in Binary Tree】题目,
class Solution {
    public TreeNode invertTree(TreeNode root) {
        if(root == null) return null;
        Queue<TreeNode> q = new LinkedList<>();
        q.add(root);
        
        while(!q.isEmpty())
        {
            TreeNode tmp= null;
            TreeNode t= q.poll();
            tmp = t.left;
            t.left = t.right;
            t.right = tmp;
            
            if(t.left != null) q.add(t.left);
            if(t.right != null) q.add(t.right);
        }
        return root;
    }
}

 

 
上面的方法浅显易懂,经验上来说,二叉树的某些规律性的操作可以使用递归方法,代码如下:
public TreeNode invertTree(TreeNode root) {
    if (root == null) {
        return null;
    }
    TreeNode right = invertTree(root.right);
    TreeNode left = invertTree(root.left);
    root.left = right;
    root.right = left;
    return root;
}

 

226. Invert Binary Tree

标签:经验   规律   levels   height   san   bin   row   null   通过   

原文地址:http://www.cnblogs.com/wxshi/p/7598538.html

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