3d46d2b3ca09ae29a716209e2d8c2180
做出这道题,说明你很有机会进入 Google

题目描述

翻转一棵二叉树。

示例:

输入:

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

输出:

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

解法

这道题确实难度不大,可以用 递归非递归 两种方法来解。

先来看递归的方法,写法非常简洁,只需要五行代码搞定:交换当前左右节点,然后直接调用递归即可

```c++
// 递归解法
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
if (!root) return NULL;
TreeNode *tmp = root->left;
root->left = invertTree(root->right);
root->right = invertTree(tmp);
return root;
}

top Created with Sketch.