Find Bottom Left Tree Value

如果这题没有O(h)的算法,那就是把树的BFS重新做一遍而已

class Solution(object):
    def findBottomLeftValue(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        queue = collections.deque([root])
        cur, nxt = 1, 0
        tmp = []
        result = 0
        while queue:
            node = queue.pop()
            tmp.append(node.val)
            cur -= 1
            if node.left:
                queue.appendleft(node.left)
                nxt += 1
            if node.right:
                queue.appendleft(node.right)
                nxt += 1
            if not cur:
                cur, nxt = nxt, cur
                result = tmp[0]
                tmp = []
        return result

results matching ""

    No results matching ""