[LeetCode] 1315. Sum of Nodes with Even-Valued Grandparent

Updated:

Sum of Nodes with Even-Valued Grandparent

LeetCode 문제λ₯Ό ν’€λ‹€κ°€ λŠκΌˆλŠ”λ° Input 이 μΉœμ ˆν•˜μ§€ μ•Šλ‹€. 이 λ¬Έμ œλ„ Input: root = [6, 7, 8, 2, 7, 1, 3, 9, null, 1, 4, null, null, null, 5]

으둜만 λ˜μ–΄μžˆκ³  μ •λ‹΅ μ½”λ“œλŠ” 이미 Binary Tree κ°€ κ΅¬ν˜„ 된 μƒνƒœλ₯Ό μ „μ œλ‘œ μž‘μ„±ν•΄μ•Ό ν•œλ‹€.

객체둜 κ΅¬ν˜„ν•˜μ§€ μ•Šκ³  λ‹¨μˆœνžˆ root λ°°μ—΄μ˜ index λ₯Ό ν†΅ν•΄μ„œ ν’€ 수 도 μžˆλŠ”λ° 말이닀.

이런 μ‹μ˜ 트리 κ΅¬ν˜„μ„ μ—°μŠ΅ν•˜λΌλŠ” λœ»μΈκ°€.. 사싀 객체둜 트리 λ§Œλ“œλŠ” 건 ν•œ λ²ˆλ„ μ•ˆν•΄λ³΄κΈ΄ ν–ˆλ‹€.. 이 κΈ°νšŒμ— ν•œ 번 λ§Œλ“€μ–΄μ„œ μˆœνšŒλ„ 해봐야겠닀.

[Python] Binary Search Tree


주어진 트리λ₯Ό μˆœνšŒν•˜λ©΄μ„œ μ‘°λΆ€λͺ¨ λ…Έλ“œκ°€ 짝수 인 경우 ν˜„μž¬ λ…Έλ“œμ˜ 값을 λ”ν•˜λ©΄ λœλ‹€.

νŠΈλ¦¬λŠ” 이미 κ΅¬ν˜„μ΄ λ˜μ–΄μ„œ 주어지기 λ•Œλ¬Έμ— DFS μ½”λ“œλ§Œ 짜면 λœλ‹€.

class Solution:
	def sumEvenGrandparent(self, root: TreeNode) -> int:
		def DFS(node, parent, grand, answer):
			if not node:
				return 0

			if grand and grand.val % 2 == 0:
				answer.append(node.val)
			DFS(node.left, node, parent, answer)
			DFS(node.right, node, parent, answer)

		answer = []
		DFS(root, None, None, answer)
		return sum(answer)

Categories:

Updated:

Leave a comment