class Solution {
public List<Integer> spiralOrder(int[][] matrix) {
List<Integer> order = new ArrayList<Integer>();
if(matrix == null || matrix.length == 0 || matrix[0].length == 0){
return order;
}
int rows = matrix.length;
int colums = matrix[0].length;
int left = 0, right = colums-1,top = 0 , bottom = rows-1;
while(left<=right && top <= bottom ){
for (int column = left; column <= right;column++){
order.add(matrix[top][column]);
}
for(int row = top+1; row<=bottom; row++){
order.add(matrix[row][right]);
}
// 检查是否需要继续遍历,如果当前区域不是一个行或列,则执行内部的遍历。
if(left<right && top<bottom){
// 从右到左遍历当前下边界,将元素添加到列表中
for(int column = right-1 ; column>left ; column--){
order.add(matrix[bottom][column]);
}
for(int row = bottom; row>top; row--){
order.add(matrix[row][left]);
}
}
// 更新边界值,缩小遍历区域。
left++;
right--;
top++;
bottom--;
}
// 返回按照螺旋顺序遍历矩阵后得到的整数列表
return order;
}
}
螺旋矩阵~
原创
©著作权归作者所有:来自51CTO博客作者即兴小索奇的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:Hutool是什么依赖?
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
1050 螺旋矩阵
题目#include<iostream>#include<algorithm>#include<cmath>using na
1050 螺旋矩阵 ci #include i++ -
螺旋矩阵【数组】
时间复杂度:空间复杂度:
矩阵 List 空间复杂度 时间复杂度 -
螺旋矩阵实现
#include <iostream>#includ
#include ios i++ -
模拟法螺旋遍历矩阵:54.螺旋矩阵(Kotlin)
54. 螺旋矩阵给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时
bmp gui unix xcode macbook -
ACM之螺旋矩阵
螺旋矩阵问题,即按照顺时针方向遍历矩阵并返回元素
ACM 螺旋矩阵 Java Python -
jquery h5项目demo下载
开发背景 为了使同学们在课堂中更加活跃,认真听讲开发出一款随机点名系统. 展示: 基本代码:<!DOCTYPE html> <html> <head> <title>点名表</title> <!-- 新 Bootstrap 核心 CSS 文件 --> <link href="https://cdn.staticf
jquery h5项目demo下载 jquery javascript css html