填充矩阵

题目:对于一个m*n的矩阵,如果某一个元素为0,则把该元素所在行及所在列均置为0。要求只允许使用O(1)的空间。

因为只允许使用O(1)的空间,因此需要使用矩阵内部的一部分元素来做标记。

void setZeroes(vector > &matrix) {
    int m = matrix.size();
    if (m == 0) return;
    int n = matrix[0].size();

    bool firstRowHas0(false);
    bool firstColHas0(false);
    int i,j;
    // 使用第一行和第一列来做标记,先记录第一行和第一列是否有0值
    for (i=0; i


你可能感兴趣的:(算法)