BFS
/*** 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 === null && q === null) return trueif (p === null || q === null) return falselet que_1 = [p]let que_2 = [q]while(que_1.length !== 0) {let que_1_size = que_1.lengthlet que_2_size = que_2.lengthif (que_1_size !== que_2_size) return falsefor (let i = 0; i<que_1_size; i++) {let mp1 = que_1.shift()let mp2 = que_2.shift()if (mp1.val !== mp2.val) return falseif (mp1.left && mp2.left) {que_1.push(mp1.left)que_2.push(mp2.left)} else if(!mp1.left && !mp2.left){} else {return false}if (mp1.right && mp2.right) {que_1.push(mp1.right)que_2.push(mp2.right)} else if(!mp1.right && !mp2.right){} else {return false}}}return true};
DFS
肝不动了,直接暴力run ok就行
/*** 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) {let result = trueif (p === null && q === null) return resultif (p === null || q === null) return !resultlet arr_1 = []let arr_2 = []let dfs = (data, arr) => {if (data) {arr.push(data.val)if (data.left) {dfs(data.left, arr)} else {arr.push(99999)}if (data.right) {dfs(data.right, arr)} else {arr.push(99999)}}}dfs(p, arr_1)dfs(q, arr_2)if (arr_1.length !== arr_2.length) result = falsearr_1.forEach((data, index) => {if (data !== arr_2[index]) {result = false}})return result};

