首页 > 其他 > 详细

顺时针打印矩阵

时间:2016-09-09 22:35:27      阅读:332      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!