码迷,mamicode.com
首页 > 其他好文 > 详细

顺时针打印矩阵

时间:2016-09-09 22:36:04      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:矩阵


    vector<int> clockwisePrint(vector<vector<int> > mat, int n, int m) {
      
        vector<int> ret;
        int i=0;
        int j=0;
        int startx=0;
        int starty=0;
        int endx=n-1;
        int endy=m-1;
        while(startx<=endx && starty<=endy){
           
            
            if(endy==starty){
                for(j=endy,i=startx;i<=endx;++i){
                	ret.push_back(mat[i][j]);
            	}
                return ret;
            }
            if(endx==startx){
                for(i=startx,j=starty;j<=endy;++j){
                	ret.push_back(mat[i][j]);
            	}
                return ret;
            }    
            for(i=startx,j=starty;j<=endy;++j){
                ret.push_back(mat[i][j]);
            }
            for(j=endy,i=startx+1;i<=endx;++i){
                ret.push_back(mat[i][j]);
            }
            for(i=endx,j=endy-1;j>=starty;--j){
                ret.push_back(mat[i][j]);
            }
            for(j=starty,i=endx-1;i>startx;--i){
                ret.push_back(mat[i][j]);
            }
            
            startx++;
            starty++;
            endx--;
            endy--;
                
        }
        return ret;
    }


顺时针打印矩阵

标签:矩阵

原文地址:http://fengbaoli.blog.51cto.com/10538178/1851212

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!