最开始以为是一个方阵、、
结果可以是矩阵 不一定是方阵。。

import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> printMatrix(int [][] matrix) {
        ArrayList<Integer> res = new ArrayList<Integer>();
        int len = matrix.length;
        if(len == 0) return res;
        int l = 0, r = matrix[0].length - 1, t = 0, b = matrix.length - 1;
        while(l<=r){
            for(int i=l; i<= r; i++) res.add(matrix[t][i]); // left to right
            if(++t > b) break;
            for(int i = t; i <= b; i++) res.add(matrix[i][r]); // top to bottom.
            if(l > --r) break;
            for(int i = r; i >= l; i--) res.add(matrix[b][i]); // right to left.
            if(t > --b) break;
            for(int i = b; i >= t; i--) res.add(matrix[i][l]); // bottom to top.
            if(++l > r) break;
        }

        return res;
    }
}