给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。

    如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
    示例 1:
    image.png
    输入:p = [1,2,3], q = [1,2,3]
    输出:true
    示例 2:

    输入:p = [1,2], q = [1,null,2]
    输出:false
    示例 3:
    输入:p = [1,2,1], q = [1,1,2]
    输出:false

    1. /**
    2. * Definition for a binary tree node.
    3. * function TreeNode(val, left, right) {
    4. * this.val = (val===undefined ? 0 : val)
    5. * this.left = (left===undefined ? null : left)
    6. * this.right = (right===undefined ? null : right)
    7. * }
    8. */
    9. /**
    10. * @param {TreeNode} p
    11. * @param {TreeNode} q
    12. * @return {boolean}
    13. */
    14. var isSameTree = function (p, q) {
    15. // 直接比较两棵树
    16. if (!p && !q) return true;
    17. if (
    18. p && q &&
    19. p.val === q.val &&
    20. isSameTree(p.left, q.left) &&
    21. isSameTree(p.right, q.right)
    22. ) {
    23. return true
    24. } else {
    25. return false
    26. }
    27. };

    image.png