73. 矩阵置零
解题思路
- 首先遍历矩阵找到所有的0元素 将其的行和列索引记录下俩
- 遍历矩阵 将所有的需要更新的元素进行更新 也就是查找hashmap中的每一个元素进行更新
- 查找行或者列是否在hashmap中
java
class Solution {
public void setZeroes(int[][] matrix) {
// 首先遍历矩阵找到所有的0元素 将其的行和列索引记录下俩
Map<Integer,Integer> map = new HashMap<>();
Map<Integer,Integer> map1 = new HashMap<>();
for(int i = 0; i < matrix.length; i++){
for(int j = 0; j < matrix[0].length; j++){
if(matrix[i][j] == 0){
map.put(i,j);// 将行和列的索引记录下来
map1.put(j,i);
}
}
}
// 遍历矩阵 将所有的需要更新的元素进行更新
// 也就是查找hashmap中的每一个元素进行更新
for(int i = 0; i < matrix.length; i++){
for(int j = 0; j< matrix[0].length; j++){
if(map.containsKey(i) || map1.containsKey(j)){
matrix[i][j] = 0;
}
}
}
}
}