首页 > 代码库 > Invert Binary Tree

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 inspired by this original tweet by Max Howell:

Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.

 

Runtime: 0ms

 1 /** 2  * Definition for a binary tree node. 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     TreeNode* invertTree(TreeNode* root) {13         if (!root || (!root->left && !root->right)) return root;14         15         swap(root->left, root->right);16         invertTree(root->left);17         invertTree(root->right);18         return root;19     }20 };

 

Invert Binary Tree