-
Notifications
You must be signed in to change notification settings - Fork 125
/
Copy pathmmyeon.ts
31 lines (29 loc) ยท 1.04 KB
/
mmyeon.ts
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
31
class TreeNode {
val: number;
left: TreeNode | null;
right: TreeNode | null;
constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
this.val = val === undefined ? 0 : val;
this.left = left === undefined ? null : left;
this.right = right === undefined ? null : right;
}
}
/**
*@link https://leetcode.com/problems/same-tree/description/
*
* ์ ๊ทผ ๋ฐฉ๋ฒ :
* - ๋ ๋
ธ๋์ ๊ฐ์ด ๊ฐ์ ๋, ์ข์ฐ ํ์ ํธ๋ฆฌ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋น๊ตํ๊ธฐ
*
* ์๊ฐ๋ณต์ก๋ : O(n)
* - n = ํธ๋ฆฌ ๋
ธ๋ ๊ฐ์
* - ๋ชจ๋ ๋
ธ๋๋ฅผ ํ ๋ฒ์ฉ ๋ฐฉ๋ฌธํ๋ค.
*
* ๊ณต๊ฐ๋ณต์ก๋ : O(n)
* - ์ต์
์ ๊ฒฝ์ฐ(๊ธฐ์ธ์ด์ง ํธ๋ฆฌ), ํธ๋ฆฌ ๋์ด๋งํผ ์ฌ๊ท๊ฐ ํธ์ถ ๋๋ค.
*/
function isSameTree(p: TreeNode | null, q: TreeNode | null): boolean {
if (p === null && q === null) return true;
// false ์กฐ๊ฑด : ๋ ์ค ํ๋๋ง null์ผ ๋, ๋ ๋
ธ๋์ ๊ฐ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ
if (p === null || q === null || p.val !== q.val) return false;
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}