先扫一遍矩阵,将对应为0的点放入list中,然后再把对应的0的点所在的行和列改成0
public class Solution {
public void setZeroes(int[][] matrix) {
List<PairInteger> pair = new ArrayList<>();
for(int i=0;i<matrix.length;i++)
for(int j=0;j<matrix[0].length;j++)
if(matrix[i][j]==0){
PairInteger p = new PairInteger(i,j);
pair.add(p);
}
for(int ii=0;ii<pair.size();ii++){
int i = pair.get(ii).i;
int j=pair.get(ii).j;
for(int k=0;k<matrix.length;k++){
matrix[k][j]=0;
}
for(int k=0;k<matrix[0].length;k++){
matrix[i][k] = 0;
}
}
}
class PairInteger{
int i;
int j;
public PairInteger(int x,int y){
i=x;
j=y;
}
}
}