题目:
题解:递归遍历
1. 从上之下,先交换左右子树,再遍历子节点。
2.从下至上,先遍历到叶子节点,交换左右子树,再向上遍历。
public TreeNode invertTree(TreeNode root) {
if (root == null) {
return null;
}
invertTree(root.left);
invertTree(root.right);
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;
return root;
}
public TreeNode invertTree(TreeNode root) {
if (root == null) {
return null;
}
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;
invertTree(root.left);
invertTree(root.right);
return root;
}
时间复杂度:O(n)