File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ class TreeNode {
2+ val : number ;
3+ left : TreeNode | null ;
4+ right : TreeNode | null ;
5+ constructor ( val ?: number , left ?: TreeNode | null , right ?: TreeNode | null ) {
6+ this . val = val === undefined ? 0 : val ;
7+ this . left = left === undefined ? null : left ;
8+ this . right = right === undefined ? null : right ;
9+ }
10+ }
11+
12+ // TC: O(n)
13+ // SC: O(n)
14+ function isSameTree ( p : TreeNode | null , q : TreeNode | null ) : boolean {
15+ if ( ! p && ! q ) return true ;
16+ if ( ! p || ! q ) return false ;
17+
18+ if ( p . val !== q . val ) return false ;
19+
20+ return isSameTree ( p . left , q . left ) && isSameTree ( p . right , q . right ) ;
21+ }
22+
23+
24+ // TC: O(n)
25+ // SC: O(n)
26+ // function isSameTree(p: TreeNode | null, q: TreeNode | null): boolean {
27+ // const stack: (TreeNode | null)[][] = [[p, q]];
28+
29+ // while (stack.length > 0) {
30+ // const [node1, node2] = stack.pop();
31+
32+ // if (!node1 && !node2) continue;
33+ // if (!node1 || !node2) return false;
34+ // if (node1.val !== node2.val) return false;
35+
36+ // stack.push([node1.left, node2.left]);
37+ // stack.push([node1.right, node2.right]);
38+ // }
39+
40+ // return true;
41+ // }
You can’t perform that action at this time.
0 commit comments