简单的递归完事,但是数据一大容易崩,可以考虑用栈,但是效率应该差不多。
最快的似乎是用BFS,可以试试。
我的解法
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
if (root == NULL)
return NULL;
TreeNode* temp = invertTree(root -> left);
root -> left = invertTree(root -> right);
root -> right = temp;
return root;
}
};