Invert Binary Tree

Description

Invert a binary tree.

Example:

Input:

     4
   /   \
  2     7
 / \   / \
1   3 6   9

Output:

     4
   /   \
  7     2
 / \   / \
9   6 3   1

Solution

class Solution {
public:
    TreeNode *invertTree(TreeNode *root) {
        stack<TreeNode *> st;
        st.push(root);
        while (!st.empty()) {
            auto node = st.top();
            st.pop();
            if (node) {
                swap(node->left, node->right);
                st.push(node->left);
                st.push(node->right);
            }
        }
        return root;
    }
};

Last updated