1.描述:
翻转一棵二叉树
1 1
/ \ / \
2 3 => 3 2
/ \
4 4
先判断根节点是否为空,若空则跳出递归,若不为空,交换左右子树根节点,然后依次递归左右子树
3.代码:
void invertBinaryTree(TreeNode *root) {
if(root == NULL)return;
TreeNode *tmp = root->left;
root->left = root->right;
root->right = tmp;
invertBinaryTree(root->left);
invertBinaryTree(root->right);
}
4.感想:
这个题的函数返回类型要求是空,所以不能有返回值,只能在原树上进行操作