题目描述
链接:点我
题解
class Solution {
public void setZeroes(int[][] matrix) {
HashSet<Integer> row = new HashSet<Integer>();
HashSet<Integer> col = new HashSet<Integer>();
for(int i = 0;i < matrix.length;i++){
for(int j = 0;j < matrix[i].length;j++){
if(matrix[i][j] == 0){
row.add(i);
col.add(j);
}
}
}
for(int i = 0;i < matrix.length;i++){
for(int j = 0;j < matrix[i].length;j++){
if(row.contains(i) || col.contains(j)){
matrix[i][j] = 0;
}
}
}
}
}
class Solution {
public void setZeroes(int[][] matrix) {
int m = matrix.length , n = matrix[0].length;
int flag = 0;
for(int i = 0;i < m;i++){
if(matrix[i][0] == 0) flag = 1;
for(int j = 1;j < n;j++){
if(matrix[i][j] == 0) matrix[i][0] = matrix[0][j] = 0;
}
}
for(int i = m-1;i >= 0;i--){
for(int j = 1;j < n;j++){
if(matrix[i][0] == 0 || matrix[0][j] == 0) matrix[i][j] = 0;
}
}
if(flag == 1){
for(int i =0;i < m; i++) matrix[i][0] = 0;
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49