C++ | Leetcode C++题解之第73题矩阵置零

题目:

题解:

cpp 复制代码
class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        int m = matrix.size();
        int n = matrix[0].size();
        int flag_col0 = false;
        for (int i = 0; i < m; i++) {
            if (!matrix[i][0]) {
                flag_col0 = true;
            }
            for (int j = 1; j < n; j++) {
                if (!matrix[i][j]) {
                    matrix[i][0] = matrix[0][j] = 0;
                }
            }
        }
        for (int i = m - 1; i >= 0; i--) {
            for (int j = 1; j < n; j++) {
                if (!matrix[i][0] || !matrix[0][j]) {
                    matrix[i][j] = 0;
                }
            }
            if (flag_col0) {
                matrix[i][0] = 0;
            }
        }
    }
};
相关推荐
jimy1几秒前
C++ 虚函数表:基类和派生类共用一张 vtable 吗?
开发语言·c++
爱吃提升9 分钟前
Dev-C++ 5.11 C++断点调试完整教程
开发语言·c++
xlq223221 小时前
全面复习7
c++
geats人山人海1 小时前
现代c++2.4 虚继承
java·开发语言·c++
csuzhucong1 小时前
天元一号、二号、三号
c++
灯澜忆梦2 小时前
【面向对象编程c++】| 数组与函数
java·数据结构·c++
起个名字费劲死了2 小时前
VisionMaster 十二点标定+单点抓取
c++·visionmaster
Lzg_na4 小时前
僵尸进程、孤儿进程、守护进程:含义、区别与生命周期详解
c++
zhanghaha13144 小时前
C++ 的类是什么(新手保姆讲解,配合 Qt 对照理解)
c++
INGNIGHT4 小时前
593 · 石头游戏 II (区间dp石子合并 翻倍循环问题)
leetcode