矩阵不一定是方阵。。

顺时针打印矩阵

http://www.nowcoder.com/questionTerminal/9b4c81a02cd34f76be2659fa0d54342a

一、矩阵的解法

二、方阵的解法

class Solution {
public:
    vector<int> printMatrix(vector<vector<int> > matrix) {
        int len=matrix[0].size();
        int loop=(len/2);
        vector<int> rt;
        int hang,lie;

        //举证不一定是方阵。。
        for(int i=0; i<loop; ++i)
        {

            hang=i;
            for(lie=i; lie<(len-1-i); ++lie)
            {
                rt.push_back( matrix[hang][lie] );
            }

            lie=len-1-i;
            for(hang=i; hang<(len-1-i); ++hang)
            {
                rt.push_back( matrix[hang][lie] );
            }

            hang=len-1-i;
            for(lie=len-1-i; lie>i; --lie)
            {
                rt.push_back( matrix[hang][lie] );
            }

            lie=i;
            for(hang=len-1-i; hang>i; --hang)
            {
                rt.push_back( matrix[hang][lie] );
            }

        }

        if( len&1 )
        {
            rt.push_back( matrix[len/2][len/2] );
        }

        return rt;

    }
};
全部评论

相关推荐

明明就不饿:看不懂你到底会啥,什么岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务