226.Invert Binary Tree
226.Invert Binary Tree
难度:Easy
翻转一棵二叉树。
1
示例:
2
3
输入:
4
5
4
6
/ \
7
2 7
8
/ \ / \
9
1 3 6 9
10
输出:
11
12
4
13
/ \
14
7 2
15
/ \ / \
16
9 6 3 1
Copied!
备注: 这个问题是受到 Max Howell 的 原问题 启发的 :
谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。
代码如下:
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) return NULL;
14
root->right=invertTree(root->right);
15
root->left=invertTree(root->left);
16
TreeNode* tmp=root->right;
17
root->right=root->left;
18
root->left=NULL;
19
root->left=tmp;
20
return root;
21
22
}
23
};
Copied!
Copy link