一、矩阵的解法

二、方阵的解法

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;

    }
};