-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsameTree.js
More file actions
30 lines (28 loc) · 1.1 KB
/
sameTree.js
File metadata and controls
30 lines (28 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//////////////////////////////////////////////Same Tree/////////////////////////////////////////////////////
// Given the roots of two binary trees p and q, write a function to check if they are the same or not.
// Two binary trees are considered the same if they are structurally identical, and the nodes have the same value.
// Example 1:
//
// Input: p = [1,2,3], q = [1,2,3]
// Output: true
// Example 2:
//
// Input: p = [1,2], q = [1,null,2]
// Output: false
// Example 3:
//
// Input: p = [1,2,1], q = [1,1,2]
// Output: false
// function TreeNode(val, left, right) {
// this.val = (val === undefined ? 0 : val)
// this.left = (left === undefined ? null : left)
// this.right = (right === undefined ? null : right)
// }
const isSameTree = function(p, q) {
if(p == null && q == null) return true;
if((p != null && q == null) || (p == null && q != null) || (p.val !== q.val)) return false;
return isSameTree(p.right, q.right) && isSameTree(p.left, q.left);
};
// console.log(isSameTree([1,2,3], [1,2,3]));
// console.log(isSameTree([1,2], [1,null,2]));
// console.log(isSameTree([1,2,1], [1,1,2]));