Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.
Subscribe to see which companies asked this question
先遍历 遍历到0时 将所在位置的xy记下来 最后通过xy置0
public class Solution {
public void setZeroes(int[][] matrix) {
int x = 0;
int y = 0;
for(int i = 0 ; i < matrix[0].length;i++){
if(matrix[0][i]==0)x=1;
}
for(int i = 0 ; i < matrix.length;i++){
if(matrix[i][0]==0)y=1;
}
for(int i =1;i<matrix.length;i++){
for(int j = 1;j<matrix[0].length;j++){
if(matrix[i][j]==0){
matrix[i][0]=0;
matrix[0][j]=0;
}
}
}
for(int i = 1 ; i < matrix[0].length;i++){
if(matrix[0][i]==0){
for(int j = 0;j<matrix.length;j++){
matrix[j][i]=0;
}
}
}
for(int i = 1 ; i < matrix.length;i++){
if(matrix[i][0]==0){
for(int j = 0;j<matrix[0].length;j++){
matrix[i][j]=0;
}
}
}
if(x==1){
for(int i = 0 ; i < matrix[0].length;i++){
matrix[0][i]=0;
}
}
if(y==1){
for(int i = 0 ; i < matrix.length;i++){
matrix[i][0]=0;
}
}
}
}