关注
注释改了一点错误
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printMatrix(int [][] matrix) {
ArrayList<Integer> list = new ArrayList<>();
if(matrix == null || matrix.length == 0 || matrix[0].length == 0){
return list;
}
int up = 0;
int down = matrix.length-1;
int left = 0;
int right = matrix[0].length-1;
while(true){
// 最上面一行
for(int col=left;col<=right;col++){
list.add(matrix[up][col]);
}
// 向下逼近
up++;
// 判断是否越界
if(up > down){
break;
}
// 最右边一列
for(int row=up;row<=down;row++){
list.add(matrix[row][right]);
}
// 向左逼近
right--;
// 判断是否越界
if(left > right){
break;
}
// 最下面一行
for(int col=right;col>=left;col--){
list.add(matrix[down][col]);
}
// 向上逼近
down--;
// 判断是否越界
if(up > down){
break;
}
// 最左边一列
for(int row=down;row>=up;row--){
list.add(matrix[row][left]);
}
// 向右逼近
left++;
// 判断是否越界
if(left > right){
break;
}
}
return list;
}
}
2
相关推荐
哈哈哈,你是老六:你回答我能拿到比你这公司还好的大厂offer,打一下面试官的脸,我上家的小组长恶心我,裁我,我拿到一个涨薪30%的offer就打了他的脸,而且我没有耽误一天,平稳的衔接
查看21道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 生物制药/化工校招攻略 #
72824次浏览 338人参与
# 拿到offer之后,可以做些什么 #
84000次浏览 437人参与
# MiniMax求职进展汇总 #
1024次浏览 23人参与
# 牛客十周岁生日快乐 #
203791次浏览 1913人参与
# 你觉得面试是靠实力还是靠运气 #
27084次浏览 297人参与
# 哪些公司在招寒假实习? #
21004次浏览 272人参与
# 硬件/芯片公司工作体验 #
142085次浏览 941人参与
# 怎么防止在试用期被辞退 #
153672次浏览 959人参与
# TCL求职进展汇总 #
139719次浏览 658人参与
# 卷__卷不过你们,只能卷__了 #
14434次浏览 324人参与
# 国企vs私企,你更想去? #
306470次浏览 2496人参与
# 招聘要求与实际实习内容不符怎么办 #
149584次浏览 889人参与
# 26年哪些行业会变好/更差 #
21757次浏览 315人参与
# 秋招遇到的奇葩面试题 #
103103次浏览 422人参与
# 写论文的崩溃时刻 #
7933次浏览 170人参与
# 业务面应该做哪些准备 #
86801次浏览 874人参与
# 腾讯音乐求职进展汇总 #
148436次浏览 1056人参与
# 去年的flag与今年的小目标 #
11850次浏览 225人参与
# 拼多多求职进展汇总 #
821534次浏览 6565人参与
# 关于春招你都做了哪些准备? #
122385次浏览 709人参与
# 你不能接受的企业文化有哪些 #
14889次浏览 194人参与
