Question Link: LeetCode, I am getting runtime error but not found where it is causing. Why it is giving runtime error any one can explain it to me?
class Solution {
public:
bool dfs(vector<vector<int>>& grid, int row, int col, int color)
{
if(row<0 || col<0 || row>=grid.size() || col>=grid[0].size() || abs(grid[row][col])!=color)
return false;
grid[row][col]=-color;
bool first = dfs(grid, row-1, col, color);
bool second = dfs(grid, row, col+1, color);
bool third = dfs(grid, row+1, col, color);
bool fourth = dfs(grid, row, col-1, color);
if(first && second && third && fourth)
{
grid[row][col]=color;
}
return true;
}
vector<vector<int>> colorBorder(vector<vector<int>>& grid, int row, int col, int color) {
dfs(grid, row, col, grid[row][col]);
for(int i=0; i<grid.size(); i++)
{
for(int j=0; j<grid[0].size(); j++)
{
if(grid[i][j]<0)
grid[i][j]=color;
}
}
return grid;
}
};