Leetcode Set Matrix Zeroes

来源:互联网 发布:ie没有java加载项 编辑:程序博客网 时间:2024/06/16 03:30

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


代码如下:

class Solution {public:    void setZeroes(vector<vector<int>>& matrix) {        int m = matrix.size();        int n = matrix[0].size();        int col0 = 1;                for(int i=0;i<m;i++)        {            if(matrix[i][0] == 0) col0 = 0;            for(int j=1;j<n;j++)            {                if(matrix[i][j] == 0)                    matrix[i][0] = matrix[0][j] = 0;            }        }                for(int i=m-1;i>=0;i--)        {            for(int j=n-1;j>=1;j--)            {                if(matrix[i][0] == 0 || matrix[0][j] == 0)                    matrix[i][j] = 0;            }            if(col0 == 0) matrix[i][0] = 0;        }    }};