2024/9/07 LeetCode Hot100 matrix
This commit is contained in:
parent
c0981ea681
commit
2236bdab89
|
@ -0,0 +1,51 @@
|
|||
package com.cool.hot100.matrix;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
*
|
||||
* @Author: Cool
|
||||
* @Date: 2024/09/07/23:00
|
||||
* DayNumber 1
|
||||
* Hard 2
|
||||
* Level 4
|
||||
*/
|
||||
public class Num54 {
|
||||
|
||||
public List<Integer> spiralOrder(int[][] matrix) {
|
||||
List<Integer> list=new ArrayList<>();
|
||||
if(matrix.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 i=left;i<=right;i++){
|
||||
list.add(matrix[up][i]);
|
||||
}
|
||||
if(++up>down)break;
|
||||
// 向下遍历
|
||||
for(int i=up;i<=down;i++){
|
||||
list.add(matrix[i][right]);
|
||||
}
|
||||
if(--right<left) break;
|
||||
// 向左遍历
|
||||
for(int i=right;i>=left;i--){
|
||||
list.add(matrix[down][i]);
|
||||
}
|
||||
if(--down<up)break;
|
||||
// 向上遍历
|
||||
for(int i=down;i>=up;i--){
|
||||
list.add(matrix[i][left]);
|
||||
}
|
||||
if(++left>right) break;
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue