翻转一棵二叉树。
示例:
输入:
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;
}
本文介绍了一种通过递归方式实现二叉树翻转的方法。给出的示例中,通过交换每个节点的左右子树来完成整个二叉树的翻转。此方法简单且易于理解。
2499

被折叠的 条评论
为什么被折叠?



