- problem:
Invert a binary tree.
4 / \ 2 7 / \ / \ 1 3 6 9
to
4 / \ 7 2 / \ / \ 9 6 3 1
- analysis:
利用递归将root的左节点赋值为转换了右子树的右节点,将root的右节点赋值为转换了左子树的左节点,并返回root。
- anwser:
/** * 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 temp = null; temp = root.left; root.left=invertTree(root.right); root.right=invertTree(temp); return root; } }