package main

/**
 *
 * @param matrix int整型二维数组
 * @return int整型一维数组
 */
func spiralOrder( matrix [][]int ) []int {
    size:=len(matrix)
    result:=[]int{}
    if size==0{return result}
    l,r,t,b:=0,len(matrix[0]),0,size
    for {
        if r<=l{break}
        for i:=l;i<r;i++{
            result=append(result, matrix[t][i])
        }
        t++
        if b<=t{break}
        for i:=t;i<b;i++{
            result=append(result, matrix[i][r-1])
        }
        r--
        if r<=l{break}
        for i:=r-1;i>=l;i--{
            result=append(result, matrix[b-1][i])
        }
        b--
        if b<=t{break}
        for i:=b-1;i>=t;i--{
            result=append(result, matrix[i][l])
        }
        l++
    }
    return result
}