您的位置:首页 > 其它

Set Matrix Zeroes

2015-10-03 11:47 369 查看
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上试了没问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: