733. Flood Fill

 1 class Solution 
 2 {
 3 public:
 4     int szx,szy;
 5     vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int newColor) 
 6     {
 7         szx=image.size();
 8         szy=image[0].size();
 9         int dyenum=image[sr][sc];
10         dye(image,sr,sc,image[sr][sc],newColor);
11         return image;
12     }
13     
14     void dye(vector<vector<int>> &image,int sr,int sc,int dyenum,int newcolor)
15     {
16         if(sr<0||sr>=szx||sc<0||sc>=szy||image[sr][sc]!=dyenum||image[sr][sc]==newcolor)
17             return ;
18         image[sr][sc]=newcolor;
19         dye(image,sr-1,sc,dyenum,newcolor);
20         dye(image,sr,sc-1,dyenum,newcolor);
21         dye(image,sr+1,sc,dyenum,newcolor);
22         dye(image,sr,sc+1,dyenum,newcolor);
23     }   
24 };

染色问题,递归,不难,代码也好理解

猜你喜欢

转载自www.cnblogs.com/zhuangbijingdeboke/p/9167442.html