JavaScript实现二叉树的镜像

二叉树的镜像

http://www.nowcoder.com/questionTerminal/564f4c26aa584921bc75623e48ca3011

实现思路:
其实就是先序遍历,依次交换节点的左子树与右子树。使用递归就可以解决,但要注意书写递归的终止条件。
JavaScript代码实现如下:

function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} 
function Mirror(root)
{
    return recursion(root)
}
function recursion(node) {
    if(!node || (!node.left && !node.right)) {
        return node;
    }

    var temp = node.left;
    node.left = recursion(node.right);
    node.right = recursion(temp);

    return node;
}
module.exports = {
    Mirror : Mirror
};
全部评论

相关推荐

05-25 10:45
西华大学 Java
Frank_zhang:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务