美文网首页leetcode --- js版本
leetcode-Easy-30-Tree-Symmetric

leetcode-Easy-30-Tree-Symmetric

作者: 石头说钱 | 来源:发表于2019-04-15 23:25 被阅读0次

题目判断二叉树是对称

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree [1,2,2,3,4,4,3] is symmetric:

判断一个给出的二叉树是否关于中心对称

  • Example 1
    1
   / \
  2   2
 / \ / \
3  4 4  3

output: true

  • Example 2
    1
   / \
  2   2
   \   \
   3    3
Output: true

  • 解法
var isSymmetric = function(root) {
  if(root === null) return true
  return isSymmetricHelp(root.left,root.right)
};
function isSymmetricHelp(left,right){
 
 // 两个节点都为null
  if(!left && !right) return true
  //一个节点为null,一个不是null
  if((left === null && right !== null) || (left !== null && right === null))return false
  //节点都存在子节点,但是这两个节点的值不一样
  if(left.val !== right.val) return false

 // 递归调用,注意这里有我是关于中心对称,而且每个节点有两个子节点,所以调用两次
  return isSymmetricHelp(left.left,right.right) && isSymmetricHelp(left.right,right.left)
}

相关文章

网友评论

    本文标题:leetcode-Easy-30-Tree-Symmetric

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