20、顺时针打印矩阵
2017-07-30 17:42
323 查看
LeetCode原题54,复习一遍
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printMatrix(int [][] matrix) {
ArrayList<Integer> ret = new ArrayList<>();
if(matrix == null || matrix.length == 0 || matrix[0].length == 0) return ret;
int rowstart = 0, rowend = matrix.length-1;
int colstart = 0, colend = matrix[0].length-1;
while(rowstart <= rowend && colstart <= colend){
for(int i = colstart; i <= colend; i++){
ret.add(matrix[rowstart][i]);
}
rowstart++;
if(rowstart > rowend || colstart > colend) break;
for(int i = rowstart; i <= rowend; i++){
ret.add(matrix[i][colend]);
}
colend--;
if(rowstart > rowend || colstart > colend) break;
for(int i = colend; i >= colstart; i--){
ret.add(matrix[rowend][i]);
}
rowend--;
if(rowstart > rowend || colstart > colend) break;
for(int i = rowend; i >= rowstart; i--){
ret.add(matrix[i][colstart]);
}
colstart++;
if(rowstart > rowend || colstart > colend) break;
}
return ret;
}
}
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printMatrix(int [][] matrix) {
ArrayList<Integer> ret = new ArrayList<>();
if(matrix == null || matrix.length == 0 || matrix[0].length == 0) return ret;
int rowstart = 0, rowend = matrix.length-1;
int colstart = 0, colend = matrix[0].length-1;
while(rowstart <= rowend && colstart <= colend){
for(int i = colstart; i <= colend; i++){
ret.add(matrix[rowstart][i]);
}
rowstart++;
if(rowstart > rowend || colstart > colend) break;
for(int i = rowstart; i <= rowend; i++){
ret.add(matrix[i][colend]);
}
colend--;
if(rowstart > rowend || colstart > colend) break;
for(int i = colend; i >= colstart; i--){
ret.add(matrix[rowend][i]);
}
rowend--;
if(rowstart > rowend || colstart > colend) break;
for(int i = rowend; i >= rowstart; i--){
ret.add(matrix[i][colstart]);
}
colstart++;
if(rowstart > rowend || colstart > colend) break;
}
return ret;
}
}
相关文章推荐
- 剑指offer 面试题20 顺时针打印矩阵
- *【九度OJ1362】|【剑指offer20】顺时针打印矩阵
- 剑指Offer_面试题20_顺时针打印矩阵
- 【面试题20】顺时针打印矩阵
- 剑指offer--面试题20:顺时针打印矩阵--Java实现
- 剑指offer(20)顺时针打印矩阵
- 顺时针打印矩阵——20
- 面试题20:顺时针打印矩阵(Leetcode-54和57)
- 剑指offer-面试题20-顺时针打印矩阵
- 剑指Offer----面试题20:顺时针打印矩阵
- 面试题20:顺时针打印矩阵
- 面试题20:顺时针打印矩阵
- 剑指offer-面试题20.顺时针打印矩阵
- 剑指offer 20题 【画图让抽象形象化】顺时针打印矩阵
- 剑指Offer系列-面试题20:顺时针打印矩阵
- 剑指offer——面试题20:顺时针打印矩阵
- [剑指offer]面试题20:顺时针打印矩阵
- 20顺时针打印矩阵python
- 剑指Offer 20 顺时针打印矩阵
- 剑指offer20顺时针打印矩阵