Skip to content

Commit 05ef73e

Browse files
committed
solve set matrix zeros
1 parent ab5451b commit 05ef73e

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

set-matrix-zeroes/sora0319.java

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
class Solution {
2+
public void setZeroes(int[][] matrix) {
3+
int M = matrix.length;
4+
int N = matrix[0].length;
5+
6+
boolean firstRow = false;
7+
boolean firstCol = false;
8+
9+
for(int i = 0; i < M; i++){
10+
if(matrix[i][0] == 0){
11+
firstRow = true;
12+
break;
13+
}
14+
}
15+
16+
for(int j = 0; j < N; j++){
17+
if(matrix[0][j] == 0){
18+
firstCol = true;
19+
break;
20+
}
21+
}
22+
23+
for(int i = 0; i < M; i++){
24+
for(int j = 0; j < N; j++){
25+
if(matrix[i][j] == 0){
26+
matrix[i][0] = 0;
27+
matrix[0][j] = 0;
28+
}
29+
}
30+
}
31+
32+
for(int i = 1; i < M; i++){
33+
for(int j = 1; j < N; j++){
34+
if(matrix[i][0] == 0 || matrix[0][j] == 0) matrix[i][j] = 0;
35+
}
36+
}
37+
38+
if(firstRow){
39+
for(int i = 0; i < M; i++){
40+
matrix[i][0] = 0;
41+
}
42+
}
43+
44+
if(firstCol){
45+
for(int j = 0; j < N; j++){
46+
matrix[0][j] = 0;
47+
}
48+
}
49+
}
50+
}
51+

0 commit comments

Comments
 (0)