当前位置: 首页 > 工具软件 > go-matrix > 使用案例 >

spiral-matrix

通建安
2023-12-01
import java.util.*;
public class Solution {
    public ArrayList<Integer> spiralOrder(int[][] matrix) {
        ArrayList<Integer>jieguo = new ArrayList<Integer>();
        int x=0;
        int y=0;
        int X_MAX=matrix.length-1;
        if(matrix.length-1<0)
            {
            return jieguo;
        }
        int Y_MAX=matrix[0].length-1;
        
        while(x<=X_MAX&&y<=Y_MAX)
                {
                for(int i= y;i<=Y_MAX;i++)
                {
                    jieguo.add(matrix[x][i]);
                }
                for(int j=x+1;j<=X_MAX;j++)
                    {
                    jieguo.add(matrix[j][Y_MAX]);
                }
                if(x!=X_MAX)
                    {
                for(int k=Y_MAX-1;k>=y;k--)
                    {
                    jieguo.add(matrix[X_MAX][k]);
                }
                }
                if(y!=Y_MAX)
                    {
                for(int l=X_MAX-1;l>x;l--)
                    {
                    jieguo.add(matrix[l][x]);
                }
                }
                 x++;y++;X_MAX--;Y_MAX--;
            }
       
        return jieguo;
    }
}
 类似资料: