<garvit244>102_1.py
def levelOrder( root):
    if not root:
        return []
    
    queue = [(root, 0)]
    levelMap = {}
    
    while queue:
        node, level = queue.pop(0)
        if node.left:
            queue.append((node.left, level+1))
        if node.right:
            queue.append((node.right, level+1))
    
        if level in levelMap:
            levelMap[level].append(node.val)
        else:
            levelMap[level] = [node.val]
    
    result = []
    for key, value in levelMap.iteritems():
        result.append(value)
    return result
def sample_funcname ( var_0 ) :
    if not var_0 :
        return [ ]
    var_2 = [ ( var_0 , 0 ) ]
    var_3 = { }
    while var_2 :
        var_5 , var_6 = var_2.pop ( 0 )
        if var_5.left :
            var_2.append ( ( var_5.left , var_6 + 1 ) )
        if var_5.right :
            var_2.append ( ( var_5.right , var_6 + 1 ) )
        if var_6 in var_3 :
            var_3 [ var_6 ].append ( var_5.val )
        else :
            var_3 [ var_6 ] = [ var_5.val ]
    var_12 = [ ]
    for var_14 , var_15 in var_3.iteritems ( ) :
        var_12.append ( var_15 )
    return var_12
