M-513. Find Bottom Left Tree Value
# 大佬的解法, 从右向左取node然后入队, 直接把node赋值就好了, 因为每次node肯定赋的是当前
# 最左下角的值.
import collections
class Solution:
def findBottomLeftValue(self, root: TreeNode) -> int:
queue = collections.deque([root])
while queue:
node = queue.popleft()
res = node.val
if node.right:
queue.append(node.right)
if node.left:
queue.append(node.left)
return res
# 我的解法, 从左向右取node然后入队, 然后取每一层最左的
import collections
class Solution:
def findBottomLeftValue(self, root: TreeNode) -> int:
deq = collections.deque([root])
cur_blv = float('-inf')
while deq:
length = len(deq)
first_one = True
for _ in range(length):
node = deq.popleft()
if first_one:
cur_blv = node.val
first_one = False
if node.left: deq.append(node.left)
if node.right: deq.append(node.right)
return cur_blv
Last updated
Was this helpful?