73. Set Matrix Zeroes

Posted zhuangbijingdeboke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了73. Set Matrix Zeroes相关的知识,希望对你有一定的参考价值。

 1 class Solution 
 2 {
 3 public:
 4     void setZeroes(vector<vector<int>>& matrix) 
 5     {
 6         int szrow=matrix.size();
 7         if(szrow==0)    return;
 8         int szcol=matrix[0].size();
 9         int flagrow=0,flagcol=0;
10         for(int i=0;i<szcol;i++)
11         {
12             if(matrix[0][i]==0)
13             {
14                 flagrow=1;
15                 break;
16             }
17         }
18         for(int i=0;i<szrow;i++)
19         {
20             if(matrix[i][0]==0)
21             {
22                 flagcol=1;
23                 break;
24             }
25         }
26         for(int i=1;i<szrow;i++)
27         {
28             for(int j=1;j<szcol;j++)
29             {
30                 if(matrix[i][j]==0)
31                 {
32                     matrix[0][j]=0;
33                     matrix[i][0]=0;
34                 }
35             }
36         }
37         for(int i=1;i<szrow;i++)
38         {
39             for(int j=1;j<szcol;j++)
40             {
41                 if(matrix[0][j]==0||matrix[i][0]==0)
42                     matrix[i][j]=0;
43             }
44         }
45         if(flagrow==1)
46         {
47             for(int i=0;i<szcol;i++)
48                 matrix[0][i]=0;
49         }
50         if(flagcol==1)
51         {
52             for(int i=0;i<szrow;i++)
53                 matrix[i][0]=0;
54         }
55     }
56 };

以第一行第一列为基准,存放要置为0的行列,然后单独处理第一行第一列即可。

以上是关于73. Set Matrix Zeroes的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode OJ 73. Set Matrix Zeroes

73. Set Matrix Zeroes

73. Set Matrix Zeroes

Leetcode 73. Set Matrix Zeroes

73. Set Matrix Zeroes

73. Set Matrix Zeroes