[LeetCode] Invert Binary Tree, leetcodeinvert
Invert Binary Tree
Invert a binary tree.
4/\ 2 7/\ 1 3 6 9
To
4/\ 7 2/\ 9 6 3 1
Trivia:
This problem was too red by this original tweet by Max Howell:
Solution:
Use recursive solutions. First, flip the subtree with the left child node as the root node, then flip the subtree with the right child node as the root node, and then swap the left and right child trees of the root node.
/*** Definition for a binary tree node. * struct TreeNode {* int val; * TreeNode * left; * TreeNode * right; * TreeNode (int x): val (x), left (NULL), right (NULL) {} *}; */class Solution {public: TreeNode * invertTree (TreeNode * root) {if (root! = NULL) {TreeNode * leftNode = invertTree (root-> left); TreeNode * rightNode = invertTree (root-> right); root-> right = leftNode; root-> left = rightNode;} return root ;}};