【leetcode】73. 矩阵置零

 

void setZeroes(int** matrix, int matrixSize, int* matrixColSize){
    int* rhash = (int*)calloc(matrixSize, sizeof(int));
    int* chash = (int*)calloc(*matrixColSize, sizeof(int));
    int i, j, k;
    for (i = 0; i < matrixSize; i++){
        for (j = 0; j < *matrixColSize; j++)
        {
            if (matrix[i][j] == 0){
                rhash[i] = 1;
                chash[j] = 1;
            }            
        }        
    }
    for (i = 0; i < matrixSize; i++){
        if (rhash[i]==1)
            memset(matrix[i], 0, (*matrixColSize)*sizeof(int));
    }
    for (i = 0; i < *matrixColSize; i++){
        if (chash[i] == 1){
            for (k = 0; k < matrixSize; k++)
                matrix[k][i] = 0;
        }
    }
}
void setZeroes(int** matrix, int matrixSize, int* matrixColSize){
    int* rhash = (int*)calloc(matrixSize, sizeof(int));
    int* chash = (int*)calloc(*matrixColSize, sizeof(int));
    int i, j, k;
    for (i = 0; i < matrixSize; i++){
        for (j = 0; j < *matrixColSize; j++)
        {
            if (matrix[i][j] == 0){
                rhash[i] = 1;
                chash[j] = 1;
            }            
        }        
    }
    for (i = 0; i < matrixSize; i++){
        if (rhash[i]==1)
            memset(matrix[i], 0, (*matrixColSize)*sizeof(int));
    }
    for (i = 0; i < *matrixColSize; i++){
        if (chash[i] == 1){
            for (k = 0; k < matrixSize; k++)
                matrix[k][i] = 0;
        }
    }
}

 

posted @ 2020-12-12 00:05  温暖了寂寞  阅读(118)  评论(0编辑  收藏  举报