LeetCode 513 solution
513. Find Bottom Left Tree Value
#Medium #Binary_tree
problem
Given the root
of a binary tree, return the leftmost value in the last row of the tree.
python
# 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 findBottomLeftValue(self, root: Optional[TreeNode]) -> int:
queue = [root]
for node in queue:
queue += filter(None,(node.right,node.left))
return node.val
엄청 어려운 개념은 없다. 너비 우선 탐색(Breadth-First Search, BFS)을 통해 각 레벨마다 순회를 하되, none인 경우는 넘어가면서 오른쪽에서 왼쪽 순으로 queue에 넣어준다. 마지막 순간에 왼쪽의 node를 고르기 위해서 이러한 (node.right,node.left)
순서로 넣어주는 것이다.