leetcode 54. Spiral Matrix
2016-10-25 14:36
477 查看
//Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order. // //For example, //Given the following matrix: // //[ // [ 1, 2, 3 ], // [ 4, 5, 6 ], // [ 7, 8, 9 ] //] //You should return [1,2,3,6,9,8,7,4,5]. import java.util.ArrayList; import java.util.List; public class test{ public static List<Integer> spiralOrder(int[][] matrix) { List<Integer> result = new ArrayList<Integer>(); if(matrix == null || matrix.length == 0){ //如果输入为空,则直接返回空结果 return result; } int maxRow = matrix.length-1; //最大行数减1 int maxCol = matrix[0].length-1; //最大列数减1 int minRow = 0; //最小行数 int minCol = 0; //最小列数 while(true){ //一直循环 for(int col = minCol;col<=maxCol;col++){ //从最小行开始遍历,行不变,列变 result.add(matrix[minRow][col]); } minRow++; //最小行加1 if(minRow>maxRow){ //如果最小行大于最大行,则跳出循环 break; } for(int row = minRow;row<=maxRow;row++){ //从最大列列开始,行变,列不变 result.add(matrix[row][maxCol]); } maxCol--; //最大列减1 if(minCol>maxCol){ //如果最小列大于最大列,则跳出循环 break; } for(int col = maxCol;col>=minCol;col--){ //从最大行开始,行不变,列变 result.add(matrix[maxRow][col]); } maxRow--; //最大行减1 if(minRow>maxRow){ //如果最小行大于最大行,则跳出循环 break; } for(int row = maxRow;row>=minRow;row--){ //从最小列开始,行变,列不变 result.add(matrix[row][minCol]); } minCol++; //最小列加1 if(minCol>maxCol){ //如果最小列大于最大列,则跳出循环 break; } } return result; } public static void main(String[] args){ int[][] nums = { {1,2,3}, {4,5,6}, {7,8,9} }; List<Integer> result = spiralOrder(nums); System.out.println(result); } }
相关文章推荐
- LeetCode *** 54. Spiral Matrix
- LeetCode-54. Spiral Matrix (JAVA)(顺时针打印矩阵)
- LeetCode_OJ【54】Spiral Matrix
- Leetcode 54. Spiral Matrix
- leetcode 54. Spiral Matrix
- leetcode.array--54. Spiral Matrix
- [LeetCode 54] Spiral Matrix
- Leetcode-54. Spiral Matrix
- leetcode - 54. Spiral Matrix
- LeetCode-54.Spiral Matrix
- (java)leetcode-54:Spiral Matrix
- [LeetCode]54. Spiral Matrix
- Leetcode 54. Spiral Matrix
- leetcode-54. Spiral Matrix
- 53_leetcode_Spiral Matrix
- LeetCode() Spiral Matrix
- LeetCode-Spiral Matrix
- leetcode 54 : Spiral Matrix
- [leetcode] Spiral Matrix
- 【leetcode】Spiral Matrix