螺旋矩阵 leetcode54.

vector spiralOrder(vector>& matrix) {
        
        int l=0;//左边界
        int up=0;//上边界
        int r=matrix[0].size()-1;//右边界
        int down=matrix.size()-1;//下边界
        vectorans;//结果数组,顺时针

        while(true){
            for(int i=l;i<=r;i++) ans.push_back(matrix[up][i]);//先往右走
            if(++up>down)break;上边界往下
                                 
            for(int i=up;i<=down;i++) ans.push_back(matrix[i][r]); 在往下走
            if(--r=l;i--) ans.push_back(matrix[down][i]);再往左
            if(--down=up;i--) ans.push_back(matrix[i][l]);再往上
            if(++l>r)  break;左边界往右
               
        }
        return ans;

    }

你可能感兴趣的:(矩阵,算法,数据结构)