题目描述:

相同的树 - 图1

代码实现:

  • 递归法,三个判断语句后递归到左右节点即可。
  • 时间复杂度:O(n)
  1. /**
  2. * Definition for a binary tree node.
  3. * function TreeNode(val) {
  4. * this.val = val;
  5. * this.left = this.right = null;
  6. * }
  7. */
  8. /**
  9. * @param {TreeNode} p
  10. * @param {TreeNode} q
  11. * @return {boolean}
  12. */
  13. var isSameTree = function(p, q) {
  14. if (p === null && q === null)
  15. return true
  16. if (p === null || q === null)
  17. return false
  18. if(p.val !== q.val)
  19. return false
  20. return isSameTree(p.left, q.left) && isSameTree(p.right, q.right)
  21. };

相同的树 - 图2