File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change 1+ from typing import Optional
2+
3+
4+ # Definition for a binary tree node.
5+ class TreeNode :
6+ def __init__ (self , val = 0 , left = None , right = None ):
7+ self .val = val
8+ self .left = left
9+ self .right = right
10+
11+
12+ class Solution :
13+ def isSameTree (self , p : Optional [TreeNode ], q : Optional [TreeNode ]) -> bool :
14+ """
15+ - Idea: ๋ ํธ๋ฆฌ๋ ๊ตฌ์กฐ๊ฐ ๊ฐ๊ณ , ๊ฐ ๋
ธ๋์ ๊ฐ์ด ๊ฐ์์ผ ๊ฐ์ ํธ๋ฆฌ๋ผ๊ณ ๊ฐ์ฃผํ๋ค.
16+ ์ด๋ฅผ ํ์ธํ๊ธฐ ์ํด ์ฌ๊ท์ ์ผ๋ก ๊ฐ ๋
ธ๋๋ฅผ ๋น๊ตํ๋ค.
17+ - Time Complexity: O(n). n์ ํธ๋ฆฌ์ ๋
ธ๋ ์.
18+ ๋ ํธ๋ฆฌ์ ๋ชจ๋ ๋
ธ๋๋ฅผ ๋น๊ตํด์ผ ํ๋ฏ๋ก O(n)์ด ์์๋๋ค.
19+ - Space Complexity: O(n). n์ ๋ฆฌ์คํธ์ ๋
ธ๋ ์.
20+ ์ฌ๊ท ํธ์ถ๋ก ์ธํด ํธ์ถ ์คํ์ ์ํ ๊ณต๊ฐ์ด ํ์ํ๋ฉฐ, ์ต์
์ ๊ฒฝ์ฐ O(n)๊น์ง ํ์ํ ์ ์๋ค.
21+ """
22+
23+ if not p and not q :
24+ return True
25+ if not p or not q or p .val != q .val :
26+ return False
27+
28+ is_left_equal = self .isSameTree (p .left , q .left )
29+ is_right_equal = self .isSameTree (p .right , q .right )
30+
31+ return is_left_equal and is_right_equal
You canโt perform that action at this time.
0 commit comments