Java实现-螺旋矩阵1

给定一个包含 m x n 个要素的矩阵,(m 行, n 列),按照螺旋顺序,返回该矩阵中的所有要素。

样例

给定如下矩阵:

[
 [ 1, 2, 3 ],
 [ 4, 5, 6 ],
 [ 7, 8, 9 ]
]

应返回 [1,2,3,6,9,8,7,4,5]

public class Solution {
    /**
     * @param matrix a matrix of m x n elements
     * @return an integer list
     */
    public List spiralOrder(int[][] matrix) {
        // Write your code here
        List list=new ArrayList();
		if(matrix.length==0)
			return list;
		int m=matrix.length;
		int n=matrix[0].length;
		int start_x=0;
		int end_x=n;
		int start_y=0;
		int end_y=m;
		while((end_x-start_x)>1&&(end_y-start_y)>1){
			for(int i=start_x;istart_x;i--){
				list.add(matrix[end_y-1][i]);
			}
			for(int j=end_y-1;j>start_y;j--){
				list.add(matrix[j][start_x]);
			}
			start_x++;
			start_y++;
			end_x--;
			end_y--;
		}
		if(start_x+1==end_x&&start_y+1==end_y){
			list.add(matrix[start_x][start_y]);
			return list;
		}
		if((end_y-start_y)==1){
			for(int i=start_x;i


你可能感兴趣的:(斩杀LintCode,All,in,One,LintCode)