关注
注释改了一点错误
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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 赚钱的意义在这一刻具象化 #
2800次浏览 69人参与
# 哪些瞬间让你真切感受到了工作的乐趣 #
23087次浏览 98人参与
# 今年春招是金一银二嘛? #
3759次浏览 50人参与
# AI求职实录 #
1878次浏览 59人参与
# 1月小结:你过的开心吗? #
921次浏览 30人参与
# 你的第一家实习公司是什么档次? #
2650次浏览 47人参与
# 抛开难度不谈,你最想去哪家公司? #
2103次浏览 63人参与
# 为什么有人零实习也能进大厂? #
3013次浏览 68人参与
# AI时代的工作 VS 传统时代的工作,有哪些不同? #
6037次浏览 140人参与
# 你的landing期是如何度过的? #
5813次浏览 98人参与
# 工作后会跟朋友渐行渐远吗 #
57689次浏览 411人参与
# 除了Java,最推荐学什么技术? #
4136次浏览 114人参与
# 当你问AI“你会取代我的工作吗”,它说_? #
2224次浏览 80人参与
# 汇川技术求职进展汇总 #
177642次浏览 1055人参与
# 我是XXX,请攻击我最薄弱的地方 #
55623次浏览 388人参与
# 选offer应该考虑哪些因素 #
139826次浏览 983人参与
# 你觉得什么岗位会被AI替代 #
36170次浏览 248人参与
# 如果工作一直消耗情绪还要继续做吗 #
18500次浏览 88人参与
# 你上一次加班是什么时候? #
128859次浏览 737人参与
# 非技术岗简历怎么写 #
284089次浏览 3185人参与
查看1道真题和解析