找准行列就行了,在JAVA中可以用ArrayList进行存储行列的下标,然后再回过头依次置零。
class Solution {
public void setZeroes(int[][] matrix) {
List<Integer>hang=new ArrayList<Integer>();
List<Integer>lie=new ArrayList<Integer>();
for(int i=0;i<matrix.length;i++){
for(int j=0;j<matrix[0].length;j++){
if(matrix[i][j]==0){
hang.add(i);
lie.add(j);
}
}
}
for(Integer i:hang){
for(int j=0;j<matrix[0].length;j++){
matrix[i][j]=0;
}
}
for(Integer i:lie){
for(int j=0;j<matrix.length;j++){
matrix[j][i]=0;
}
}
}
}