1. 题目描述
给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 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
2. 解题思路
这个实际上也没啥好说的就是进行递归遍历两个树对应的节点,看看是否一致,一致的话就直接返回false。
3. 代码实现
/*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val = (val===undefined ? 0 : val)* this.left = (left===undefined ? null : left)* this.right = (right===undefined ? null : right)* }*//*** @param {TreeNode} p* @param {TreeNode} q* @return {boolean}*/var isSameTree = function(p, q) {if(!p && !q){return true}if(p === null || q === null){return false}if(p.val !== q.val){return false}return isSameTree(p.left, q.left) && isSameTree(p.right, q.right)};
4. 提交结果

