翻转一棵二叉树。
示例:
输入:
4 / \ 2 7 / \ / \ 1 3 6 9
输出:
4 / \ 7 2 / \ / \ 9 6 3 1
这个题目非常简单,可以使用递归完成。当节点部位空,交换左右子树,为空时,返回。
struct TreeNode* invertTree(struct TreeNode* root) {
if(root == NULL)
return NULL;
struct TreeNode* p = root;
p = root->left;
root->left = root->right;
root->right = p;
invertTree(root->left);
invertTree(root->right);
return root;
}