美文网首页
镜像二叉树判断

镜像二叉树判断

作者: Ag_fronted | 来源:发表于2021-07-01 11:56 被阅读0次
const binaryTree = {
  root: {
    key: 1,
    left: {
      key: 2,
      left: { key: 3, left: {}, right: {} },
      right: { key: 4, left: {}, right: {} },
    },
    right: {
      key: 2,
      left: { key: 4, left: {}, right: {} },
      right: { key: 5, left: {}, right: {} },
    },
  },
};

##Way1
function isMirrorBinaryTree(binaryTree) {
  const nodeList = [];
  let splitArrayByTier = function (node, index) {
    if (node.key) {
      splitArrayByTier(node.left, index + 1);
      splitArrayByTier(node.right, index + 1);
      if (!nodeList[index]) nodeList[index] = [];
      nodeList[index].push(node.key);
    }
  };
  splitArrayByTier(binaryTree.root, 0);
  for (let i = 1, length = nodeList.length; i < length; i++) {
    if (JSON.stringify(nodeList[i]) !== JSON.stringify(nodeList[i].reverse())) {
      return false;
    }
  }
  return true;
}
console.log(isMirrorBinaryTree(binaryTree));

##Way2
function isMirrorBinaryTree(root) {
  if (root === null) return false;
  function isMirror(left, right) {
    if (left === null && right === null) return true;
    if (left === null || right === null) return false;
    if (left.val !== right.val) return false;
    return isMirror(left.left, right.right) && isMirror(left.right, right.left);
  }
}
console.log(isMirrorBinaryTree(binaryTree.root));

相关文章

  • 《剑指offer》— JavaScript(18)二叉树的镜像

    二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 相关知识 二叉树的镜像定义:源二叉树 镜像二...

  • LeetCode 每日一题 [59] 对称的二叉树

    LeetCode 对称的二叉树 [简单] 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像...

  • 34.对称的二叉树

    题目:判断一棵二叉树是不是对称二叉树 思路: 利用递归,先写一个子函数,判断一下两棵树是不是互为镜像,设计思路是当...

  • JZ-018-二叉树的镜像

    二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。题目链接: 二叉树的镜像[https://ww...

  • 剑指offer(java版)——解决面试题的思路

    1.镜像二叉树 题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ \...

  • 二叉树的镜像-java

    二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ 6...

  • 剑指offer-18~20

    18.二叉树的镜像操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ 6 10/...

  • 二叉树的镜像

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述 二叉树的镜像定义:源二叉树与镜像二叉树 代码 总...

  • JZ-058-对称的二叉树

    对称的二叉树 题目描述 请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样...

  • 二叉树镜像(反转二叉树)

    二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 相关知识 二叉树的镜像定义: 思路 有关二叉...

网友评论

      本文标题:镜像二叉树判断

      本文链接:https://www.haomeiwen.com/subject/ensjultx.html