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

剑指offer-顺时针打印矩阵

时间:2017-10-13 20:10:03      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:分享   size   code   不同   for   ack   print   技术分享   display   

每个人有不同的方法,我用四个变量标记边界

技术分享
class Solution {
public:
    vector<int> printMatrix(vector<vector<int> > matrix) {
        vector<int> res;
        int l,r,t,b;
        l = 0, r = matrix[0].size() - 1, t = 0, b = matrix.size() - 1;
        while(r >= l && b >= t){
            for(int i = l; i <= r; ++i){
                res.push_back(matrix[t][i]);
            }
            t++;
            if(t > b) break;
            for(int i = t; i <= b; ++i){
                res.push_back(matrix[i][r]);
            }
            r--;
            if(l > r) break;
            for(int i = r; i >= l; --i){
                res.push_back(matrix[b][i]);
            }
            b--;
            if(t > b) break;
            for(int i = b; i >= t; --i){
                res.push_back(matrix[i][l]);
            }
            l++;
        }
        return res;
    }
};
View Code

 

剑指offer-顺时针打印矩阵

标签:分享   size   code   不同   for   ack   print   技术分享   display   

原文地址:http://www.cnblogs.com/dupengcheng/p/7662671.html

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