Как найти и заменить окруженные области на матрице: leetcode 130

preview_image
Уже есть подписка?
Допустим, есть карта с островами ('O') и водой ('X'). Нужно найти все острова, которые полностью окружены водой и не касаются края карты, и "затопить" их (заменить на 'X'). Те острова, что касаются края, должны остаться нетронутыми.
Исследователь (Explorer)