1315. Sum of Nodes with Even-Valued Grandparent
풀이 코드
조부모 노드의 값이 짝수인 노드들의 합을 구하는 문제이다. 깊이우선탐색으로 해결했다. 단지 주의 할 부분은 dfs 함수를 재귀로 호출할 때, 현재 노드 = 부모 노드 / 현재의 부모 노드 = 조부모 노드 가 된다는 부분이다. 이 점을 고려해 dfs 함수의 인자로 현재노드와 부모노드를 인자로 넘겨주면 된다.
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def sumEvenGrandparent(self, root: TreeNode) -> int:
self.answer = 0
def dfs(root, parent, grandparent):
if not root:
return
if grandparent and grandparent % 2 == 0:
self.answer += root.val
dfs(root.left, root.val, parent)
dfs(root.right, root.val, parent)
dfs(root, None, None)
return self.answer
'Algorithm' 카테고리의 다른 글
[leetcode] 35. Search Insert Position _ python3 (0) | 2021.12.06 |
---|---|
[leetcode] 203. Remove Linked List Elements _ python3 (0) | 2021.12.06 |
[leetcode] 1413. Minimum Value to Get Positive Step by Step Sum _ python3 (0) | 2021.12.06 |
[프로그래머스] 전력망을 둘로 나누기 python3 (0) | 2021.12.06 |
알고리즘 공부를 시작해보자 (1) | 2021.12.05 |