首页 > 其他 > 详细

73. Set Matrix Zeroes

时间:2018-07-21 13:47:41      阅读:170      评论:0      收藏:0      [点我收藏+]
 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

原文:https://www.cnblogs.com/zhuangbijingdeboke/p/9346251.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!