首页 > 学院 > 开发设计 > 正文

LeetCode 73. Set Matrix Zeroes

2019-11-08 01:39:32
字体:
来源:转载
供稿:网友

Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.

answer:

class Solution {public:    void setZeroes(vector<vector<int>>& matrix) {        set<int> mSet;        set<int> nSet;        int m = matrix.size();        if(m == 0) return;        int n = matrix[0].size();        for(int i = 0; i < m; i ++){            for(int j = 0; j < n; j ++){                if(matrix[i][j] == 0) {                    mSet.insert(i);                    nSet.insert(j);                }            }        }        if(mSet.size() == 0 && nSet.size() == 0) return;        for(set<int>::iterator it = mSet.begin(); it != mSet.end(); it ++){            int temp = *it;            for(int j = 0; j < n; j ++)                matrix[temp][j] = 0;        }        for(set<int>::iterator it = nSet.begin(); it != nSet.end(); it ++){            int temp = *it;            for(int j = 0; j < m; j ++)                matrix[j][temp] = 0;        }    }};


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表