728x90
Goal
1. ํธ๋ฆฌ ๊ตฌ์กฐ ์ดํดํ๊ธฐ
2. ๊ฐ์ฅ ๊ฐ๋จํ ํธ๋ฆฌ ๊ตฌ์กฐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด๋ณด๊ธฐ
ํธ๋ฆฌ ๊ตฌ์กฐ๋?
ํธ๋ฆฌ ๊ตฌ์กฐ๋ ๋ ธ๋(Node)์ ์์๋ ธ๋(Child Node)๋ก ๊ตฌ์ฑ๋ ๊ตฌ์กฐ๋ฅผ ์๊ธฐํ๋ค.
๊ฐ์ฅ ํํ ๋ณด๋ ํธ๋ฆฌ ๊ตฌ์กฐ๋ ๋ฐ์ด๋๋ฆฌ ํธ๋ฆฌ ๊ตฌ์กฐ(Binary Tree)๋ก ๊ฐ ๋ ธ๋๊ฐ ์ผ์ชฝ ์ค๋ฅธ์ชฝ์ผ๋ก ์์๋ ธ๋ 2๊ฐ๋ฅผ ๊ฐ์ง ํํ๋ค.
LeetCode 2236๋ฒ: Root Equals Sum of Children (ํ์ด๋ณด๊ธฐ)
Hint
1. root๋ผ๋ ํธ๋ฆฌ ๊ตฌ์กฐ์ ์ ์ :
root.val = ํ์ฌ ๋ ธ๋์ ์
root.left = ํ์ฌ ๋ ธ๋์ ์ผ์ชฝ ์์๋ ธ๋
root.right= ํ์ฌ ๋ ธ๋์ ์ค๋ฅธ์ชฝ ์์๋ ธ๋
2. root.val์ด ํ์ฌ ๋ ธ๋์ ์๋ผ๋ฉด root.left ๋ ธ๋์ ์๋ฅผ ๊ตฌํ๋ ค๋ฉด? (์ ๋ต์ ๋ฐ์ ํ์ด๋ผ์ดํธํ๋ฉด ๋ณด์)
root.left.val = ํ์ฌ ๋ ธ๋์ ์ผ์ชฝ ์์๋ ธ๋์ ์
root.right.val = ํ์ฌ ๋ ธ๋์ ์ค๋ฅธ์ชฝ ์์๋ ธ๋์ ์
Solution
class Solution:
def checkTree(self, root: Optional[TreeNode]) -> bool:
# ํ์ฌ ๋
ธ๋์ ์ผ์ชฝ ์์๋
ธ๋์ ์์ ์ค๋ฅธ์ชฝ ์์๋
ธ๋์ ์๋ฅผ ๋ํ ํ ๋น๊ต
if root.val == root.left.val + root.right.val:
return True
return False
'๐งฉ Algorithm > DFS BFS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LeetCode] 226๋ฒ: Invert Binary Tree (0) | 2023.03.10 |
---|
๋๊ธ