package test;
import java.util.*;
public class SpiralMatrix
{
public SpiralMatrix(){}
List<Integer> order= new ArrayList<Integer>();
public List<Integer> spiralOrder(int[][] matrix)
{
int row= matrix.length;
if(row == 0)
{return order;}
int col= matrix[0].length;
int row_index= 0;
int col_index= 0;
Spiral(matrix, row_index, row, col_index, col);
return order;
}
private void Spiral(int[][] matrix, int row_index, int row,
int col_index, int col)
{
if(col_index == col - 1)
{
for(int i=row_index;i<row;i++)
{order.add(matrix[i][col_index]);}
return;
}
if(row_index == row - 1)
{
for(int i=col_index;i<col;i++)
{order.add(matrix[row_index][i]);}
return;
}
for(int i=col_index;i<col;i++)
{
order.add(matrix[row_index][i]);
}
for(int i=row_index+1;i<row;i++)
{
order.add(matrix[i][col-1]);
}
for(int i=col-2;i>col_index;i--)
{
order.add(matrix[row-1][i]);
}
for(int i=row-1;i>row_index;i--)
{
order.add(matrix[i][col_index]);
}
row_index++;col_index++;
row--;col--;
if(row_index > row || col_index >col)
{
return;
}
Spiral(matrix, row_index, row, col_index, col);
}
}
最后
以上就是务实小松鼠最近收集整理的关于矩阵螺旋顺序表示的全部内容,更多相关矩阵螺旋顺序表示内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复