<qiyuangong>733_Flood_Fill_2.py
def floodFill( image, sr, sc, newColor):
    r_ls, c_ls = len(image), len(image[0])
    color = image[sr][sc]
    if color == newColor:
        return image
    queue = [(sr, sc)]
    while len(queue) > 0:
        r, c = queue.pop(0)
        if image[r][c] == color:
            image[r][c] = newColor
            if r - 1 >= 0: queue.append((r - 1, c))
            if r + 1 < r_ls: queue.append((r + 1, c))
            if c - 1 >= 0: queue.append((r, c - 1))
            if c + 1 < c_ls: queue.append((r, c + 1))
    return image
def sample_funcname ( var_0 , var_1 , var_2 , var_3 ) :
    var_5 , var_7 = len ( var_0 ) , len ( var_0 [ 0 ] )
    var_8 = var_0 [ var_1 ] [ var_2 ]
    if var_8 == var_3 :
        return var_0
    var_9 = [ ( var_1 , var_2 ) ]
    while len ( var_9 ) > 0 :
        var_11 , var_12 = var_9.pop ( 0 )
        if var_0 [ var_11 ] [ var_12 ] == var_8 :
            var_0 [ var_11 ] [ var_12 ] = var_3
            if var_11 - 1 >= 0 : var_9.append ( ( var_11 - 1 , var_12 ) )
            if var_11 + 1 < var_5 : var_9.append ( ( var_11 + 1 , var_12 ) )
            if var_12 - 1 >= 0 : var_9.append ( ( var_11 , var_12 - 1 ) )
            if var_12 + 1 < var_7 : var_9.append ( ( var_11 , var_12 + 1 ) )
    return var_0
