message: Make find-bottom-left-value less terse
  Appending to a list that is being looped over and
  having a loop variable being used after loop context is done
  just rubs me the wrong way.
  Made this look look more like level traversal with the left node
  added last.
diff: @@ -61,7 +61,8 @@ class Solution2(object):
  :type root: TreeNode
  :rtype: int
  """
  - queue = [root]
  - for node in queue:
  - queue += filter(None, (node.right, node.left))
  - return node.val
  + last_node, queue = None, [root]
  + while queue:
  + last_node = queue.pop(0)
  + queue.extend([n for n in [last_node.right, last_node.left] if n])
  + return last_node.value
  