【Leetcode_总结】513. 找树左下角的值 - python

Q:

给定一个二叉树,在树的最后一行找到最左边的值。

示例 1:

输入:

    2
   / \
  1   3

输出:
1

示例 2:

输入:

        1
       / \
      2   3
     /   / \
    4   5   6
       /
      7

输出:
7

链接:https://leetcode-cn.com/problems/find-bottom-left-tree-value/description/

思路:层次遍历返回最底层最左节点 效率跟屎一样

代码:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def findBottomLeftValue(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        res = []
        if root == None:
            return []
        from queue import Queue
        q = Queue()
        q.put((root,0))
        while not q.empty():
            node ,level = q.get()
            if level == len(res):
                res.append([])
            res[level].append(node.val)
            if node.left != None:
                q.put((node.left,level+1))
            if node.right != None:
                q.put((node.right, level + 1))
        return res[-1][0]

猜你喜欢

转载自blog.csdn.net/maka_uir/article/details/86304154