Invert Binary Tree

Invert a binary tree.
       4
     /   \
    2     7
  /   \   /   \
1    3 6    9
to
      4
    /    \
  7      2
/   \     /  \
9   6  3   1

给定一个二叉树,交换它的左右子树。我们用递归完成,从根节点开始,递归交换root的左子树,然后递归交换root的右子树。代码如下:
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public TreeNode invertTree(TreeNode root) {
        if(root == null) return root;
        TreeNode node = root.left;
        root.left = root.right;
        root.right = node;
        invertTree(root.left);
        invertTree(root.right);
        return root;
    }
}

猜你喜欢

转载自kickcode.iteye.com/blog/2277928
今日推荐