24 - 相同的树

题目

给定两个二叉树,编写一个函数来检验它们是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

示例 1:

输入: 1 1 / / 2 3 2 3

    [1,2,3],   [1,2,3]

输出: true

示例 2:

输入: 1 1 / 2 2

    [1,2],     [1,null,2]

输出: false

示例 3:

输入: 1 1 / / 2 1 1 2

    [1,2,1],   [1,1,2]

输出: false

解答

递归

var isSameTree = function(p, q) {
  if (!p && !q) {
    return true;
  } else if (!p || !q) {
    return false;
  } else if (p.val !== q.val) {
    return false;
  } else {
    return isSameTree(p.right, q.right) && isSameTree(p.left, q.left);
  }
};

Runtime: 52 ms, faster than 79.87% of JavaScript online submissions forSame Tree.

Memory Usage: 33.8 MB, less than 66.58% of JavaScript online submissions for Same Tree.

Last updated

Was this helpful?