public class Solution {
public void setZeroes(int[][] matrix) {
if (matrix == null || matrix.length == 0 || matrix[0].length == 0)
return;
int[][] result = new int[matrix.length][matrix[0].length];
boolean[] x = new boolean[matrix.length];
boolean[] y = new boolean[matrix[0].length];
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
if (matrix[i][j] == 0) {
if (x[i] != true)
x[i] = true;
if (y[j] != true)
y[j] = true;
}
}
}
for (int i = 0; i < matrix.length; i++) {
if (x[i] == true)
continue;
for (int j = 0; j < matrix[0].length; j++) {
if (y[j] == false)
result[i][j] = matrix[i][j];
}
}
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
matrix[i][j] = result[i][j];
}
}
}
}
最后那个双层的循环,我本来打算用maxtrix = result 这种形式,但是编译不通过,我在eclipse上试了没问题。
Set Matrix Zeroes
最新推荐文章于 2021-05-18 20:21:21 发布