https://leetcode-cn.com/problems/spiral-matrix/
- 注意此题不是一定是正方形的,
public List<Integer> spiralOrder(int[][] matrix) {int leftRow = 0;int leftCol = 0;int rightRow = matrix.length - 1;int rightCol = matrix[0].length - 1;List<Integer> list = new ArrayList<>();while (leftRow <= rightRow && leftCol <= rightCol) {if (leftRow == rightRow ) { // 一条躺着的长方形 || 一个块for (int i = leftCol; i <= rightCol; i++) {list.add(matrix[leftRow][i]);}} else if (leftCol == rightCol) { // 一条竖着的长方形 || 一个块for (int i = leftRow; i <= rightRow; i++) {list.add(matrix[i][leftCol]);}} else {for (int i = leftCol; i < rightCol; i++) {list.add(matrix[leftRow][i]);}for (int i = leftRow; i < rightRow; i++) {list.add(matrix[i][rightCol]);}for (int i = rightCol; i > leftCol; i--) {list.add(matrix[rightRow][i]);}for (int i = rightRow; i > leftRow; i--) {list.add(matrix[i][leftCol]);}}leftRow++;leftCol++;rightRow--;rightCol--;}return list;}
