题目
Invert a binary tree.
Example:
Input:
1 2 3 4 5
| 4 / \ 2 7 / \ / \ 1 3 6 9
|
Output:
1 2 3 4 5
| 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 f*** off.
题解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
class Solution { private: void invert(TreeNode* root) { if(root->left!=NULL||root->right!=NULL) { swap(root->left,root->right); } if(root->left) invert(root->left); if(root->right) invert(root->right); } public: TreeNode* invertTree(TreeNode* root) { if(root==NULL) return NULL; invert(root); return root; } };
|