微派秋招算法题

时间:2025-02-19 07:48:44
  • // 从外到里打印矩阵matrix
  • var displayMatrix = (matrix) => {
  • // 设置上下左右边界
  • let top = 0
  • let bottom = matrix.length - 1
  • let left = 0
  • let right = matrix[0].length - 1
  • let res = []
  • while (true) {
  • // 从左到右这个方向
  • for (let i = left; i <= right; i++) {
  • (matrix[top][i])
  • }
  • top++;
  • if (top > bottom) {
  • break
  • }
  • // 从上到下
  • for (let i = top; i <= bottom; i++) {
  • (matrix[i][right])
  • }
  • right--
  • if (right < left) {
  • break
  • }
  • // 从右到左
  • for (let i = right; i >= left; i--) {
  • (matrix[bottom][i])
  • }
  • bottom--
  • if (bottom < top) {
  • break
  • }
  • // 从下到上
  • for (let i = bottom; i >= top; i--) {
  • (matrix[i][left])
  • }
  • left++
  • if (left > right) {
  • break
  • }
  • }
  • // res数组保存了输出的顺序
  • }