Posts

Showing posts with the label Invert Binary Tree

Invert Binary Tree

Invert a binary tree. Example: Input: 4 / \ 2 7 / \ / \ 1 3 6 9 Output: 4 / \ 7 2 / \ / \ 9 6 3 1   /**  * Definition for a binary tree node.  * public class TreeNode {  *     int val;  *     TreeNode left;  *     TreeNode right;  *     TreeNode() {}  *     TreeNode(int val) { this.val = val; }  *     TreeNode(int val, TreeNode left, TreeNode right) {  *         this.val = val;  *         this.left = left;  *         this.right = right;  *     }  * }  */ class Solution {     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; } } Try it on Leetcode Here, we are going to solve it recursively. The inverse of an empty tree is the empty tree. The inverse of a tree with root r r r , and subtrees right and left , is a tree wit