https://leetcode-cn.com/problems/same-tree/
难度简单449收藏分享切换为英文关注反馈
给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 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
执行用时:92 ms, 在所有 JavaScript 提交中击败了9.73%的用户
内存消耗:37.9 MB, 在所有 JavaScript 提交中击败了57.14%的用户
/**
* 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) {
var arrP = [];
var arrQ = [];
function dfs(node, arr) {
if (node == null) return;
arr.push(node.val);
if (node.left == null && node.right == null) return;
if (node.left != null) dfs(node.left, arr);
else arr.push("null");
if (node.right != null) dfs(node.right, arr);
else arr.push("null");
}
dfs(p, arrP);
dfs(q, arrQ);
if (arrP.length != arrQ.length) return false;
for (var i = 0; i < arrP.length; i++) {
if (arrP[i] != arrQ[i]) return false;
}
return true;
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/69270.html