一 题目:

二 代码:
public void setZeroes(int[][] matrix) {
Set<Integer> xZero = new HashSet<>();
Set<Integer> yZero = new HashSet<>();
//记录所有要设置0的行和列
for (int x = 0; x < matrix.length; x++) {
for (int y = 0; y < matrix[0].length; y++) {
if (matrix[x][y]==0){
xZero.add(x);
yZero.add(y);
}
}
}
for (Integer x : xZero) {
for (int y = 0; y <matrix[0].length ; y++) {
matrix[x][y]=0;
}
}
for (Integer y : yZero) {
for (int x = 0; x <matrix.length ; x++) {
matrix[x][y]=0;
}
}
}