1. 程式人生 > 實用技巧 >劍指offer-29 順時針列印矩陣 - 模擬

劍指offer-29 順時針列印矩陣 - 模擬

輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字。

思路就是不斷移動上下左右的邊界,按照上右下左的方式進行遍歷

class Solution {
    public int[] spiralOrder(int[][] matrix) {
        List<Integer> list=new ArrayList<Integer>();
        if(matrix.length==0){
            return new int[0];
        }
        int m=matrix.length;
        int
n=matrix[0].length; int t=0,l=0,r=n-1,b=m-1; while(list.size()<m*n){ //從左到右 for(int i=l;i<=r;i++){ list.add(matrix[t][i]); } ++t; //從上到下 for(int i=t;i<=b;i++){ list.add(matrix[i][r]); }
--r; //從右到左 for(int i=r;i>=l;i--){ list.add(matrix[b][i]); } --b; //從下到上 for(int i=b;i>=t;i--){ list.add(matrix[i][l]); } ++l; } int []res=new int[m*n]; for(int
i=0;i<m*n;i++){ res[i]=list.get(i); } return res; } }