首页 > 代码库 > LeetCode——Spiral Matrix
LeetCode——Spiral Matrix
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]
.
向右螺旋式遍历。
public class SpiralMatrix { public List<Integer> spiralOrder(int[][] matrix) { if (matrix.length == 0) return null; List<Integer> list = new ArrayList<Integer>(); int l = 0, r = matrix[0].length - 1; int u = 0, d = matrix.length - 1; while (l <= r && u <= d) { for (int i = l; i <= r; i++) list.add(matrix[u][i]); u++; if (u > d) continue; for (int i = u; i <= d; i++) list.add(matrix[i][r]); r--; if (l > r) continue; for (int i = r; i >= l; i--) list.add(matrix[d][i]); d--; if (u > d) continue; for (int i = d; i >= u; i--) list.add(matrix[i][l]); l++; } return list; } }
LeetCode——Spiral Matrix
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。