Invert a binary tree.
Example:
Input:
4 / \ 2 7 / \ / \ 1 3 6 9
Output:
4 / \ 7 2 / \ / \ 9 6 3 1
这一题其实就是一个递归的镜像反转,把右子树的节点给左边,左子树的节点给右边。记住需要自下而上的递归,这样才可以在不破坏上层节点结构的情况完成镜像反转。 给出代码如下
public TreeNode invertTree(TreeNode root) {
if (root == null) return null;
TreeNode left = invertTree(root.right);
TreeNode right = invertTree(root.left);
root.left = left;
root.right = right;
return root;
}
本文介绍了一种通过递归实现二叉树节点镜像反转的方法。具体操作为将每个节点的左右子树进行交换,从底层节点开始,逐层向上进行。文中还提供了一段Java代码示例。
314

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



