Invert a binary tree.


Example


  1         1
/ \ / \
2 3 => 3 2
/ \
4 4



1 /**
2 * Definition of TreeNode:
3 * public class TreeNode {
4 * public int val;
5 * public TreeNode left, right;
6 * public TreeNode(int val) {
7 * this.val = val;
8 * this.left = this.right = null;
9 * }
10 * }
11 */
12 public class Solution {
13 /**
14 * @param root: a TreeNode, the root of the binary tree
15 * @return: nothing
16 */
17 public void invertBinaryTree(TreeNode root) {
18 // write your code here
19 if (root == null) return;
20
21 TreeNode left = root.left;
22 root.left = root.right;
23 root.right = left;
24
25 invertBinaryTree(root.left);
26 invertBinaryTree(root.right);
27 }
28 }