Given an m x n 2D binary grid of '1's (land) and '0's (water), return the number of islands. An island is surrounded by water and formed by connecting adjacent lands horizontally or vertically.
Input: grid = [["1","1","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0","0","0","0","0"]]
Output: 1
Topics: graphs, recursion
Asked by: Amazon, Google, Meta, Microsoft, Apple, Bloomberg, Uber
Time complexity: O(m×n). Space complexity: O(m×n).