Leetcode 73. 矩阵置零

文章目录

  • 题目
  • 代码(8.29 首刷自解)

题目

Leetcode 73. 矩阵置零_第1张图片
Leetcode 73. 矩阵置零

代码(8.29 首刷自解)

没有使用其他方法省空间

class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        int m = matrix.size(), n = matrix[0].size();
        vector<vector<int>> used(m, vector<int>(n));
        for(int i = 0; i < m; i++) {
            for(int j = 0; j < n; j++) {
                if(matrix[i][j] == 0 && used[i][j] == 0) {
                    used[i][j] = 1;
                    convert(matrix, m, n, i, j, used);
                }
            }
        }
    }
    void convert(vector<vector<int>>& matrix, int m, int n, int x, int y, vector<vector<int>>& used) {
        for(int i = 0; i < m; i++) {
            if(i != x && matrix[i][y] != 0) {
                matrix[i][y] = 0;
                used[i][y] = 1;
            }
        }
        for(int i = 0; i < n; i++) {
            if(i != y && matrix[x][i] != 0) {
                matrix[x][i] = 0;
                used[x][i] = 1;
            }
        }
    }
};

你可能感兴趣的:(Leetcode专栏,leetcode,矩阵,算法)