Why this solution wont work for count no of islands c++?

Question: https://leetcode.com/problems/number-of-islands/

MySolution:

class Solution {
public:
    int dfs(int i,int j,vector<vector<char>>&grid)
    {
        if(i>grid.size()-1||j>grid[0].size()-1||grid[i][j]!='1'||i<0||j<0)
            return 0;
        grid[i][j]='0';
        return 1&&(dfs(i-1,j,grid)||dfs(i+1,j,grid)||dfs(i,j+1,grid)||dfs(i,j-1,grid));
    }
    
    
    int numIslands(vector<vector<char>>& grid) {
        int count=0;
        for(int i=0;i<grid.size();i++)
        {
            for(int j=0;j<grid[0].size();j++)
            {
                if(grid[i][j]=='1')
                {
                
                    count+=dfs(i,j,grid);
                }
            }
        }
        return count;
    }
};
Comments (1)