十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
请完成一个函数,输入一个二叉树,该函数输出它的镜像。
这里的解题思路和之前的反转链表一样使用递归思路,因为我们这里需要多次反转根节点下的左右两个节点, 这里使用递归会更方便,首先我们返回值一定是TreeNode,所以直接使用当前函数返回即可, 这里首先我们是需要新的TreeNode对象去返回镜像后的TreeNode, 新建的Node直接用当前Node的val去创建,所以这里我直接创建一个新的节点, 然后将他的left指向他的right, 将right节点指向他的left节点, 如代码所示, 这样的话就可以链接之前的TreeNode了, 最后返回的也是最开始的根节点
Java代码实现public class MirrorTree {public class TreeNode {int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {val = x; }
}
public TreeNode mirrorTree(TreeNode root) {if (root == null) return null;
//新建一个节点
TreeNode newRoot = new TreeNode(root.val);
newRoot.left = mirrorTree(root.right);
newRoot.right = mirrorTree(root.left);
return newRoot;
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧