使用memset函数时出现了BUG.
void setZeroes(vector<vector<int> >& matrix) {
int size1 = matrix.size();
int size2 = matrix[0].size();
int* hang = new int[size1];
int* lie = new int[size2];
memset(hang, 0, sizeof(hang)); //这里的因为初始化不是vector容器,而是int数组
memset(lie, 0, sizeof(lie));
....
}
经过对比发现,我们初始化vector容器时使用memset函数sizeof(vector对象)可以得到正确的结果,但是对于这种具体化的数组对象,我们需要sizeof(数据结构对应的字节)*个数
故改为:
memset(hang, 0, sizeof(int)*size1); //这里的因为初始化不是vector容器,而是int数组
memset(lie, 0, sizeof(int)*size2);