leetcode 54 Spiral Matrix – Medium
54 Spiral Matrix – Medium Problem: 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]. Thoughts: Go in a Spiral Way, one trip contains four part, go right, go down, go left and go up. Repeat Spiral trip until there is only one column or row left. Solutions: public class Solution { public List<Integer> spiralOrder ( int [][] matrix) { List<Integer> result = new ArrayList<Integer>(); if (matrix == null || matrix.length == 0 ) return result; int m = matrix.length; int n = matrix[ 0 ].length; int x= 0 ; int y= 0 ; while (m> 0 && n> 0 ){ //if one row/column left, no circle can be formed if (m== 1 ){ for ( int i= 0 ; i<n; i++){ result.add(matrix[x][y++]);