LeetCode-130-被圍繞的區(qū)域

示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/surrounded-regions/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
解法一:遞歸法
首先,如果數(shù)組為空,不需要調(diào)整,直接返回。
然后,處理邏輯是從數(shù)組的四個邊開始遍歷,如果遇到和其連通的,則將相應(yīng)位置的字符暫時重置更新為'A',具體處理邏輯如下:
從第一行、最后一行、第一列、最后一列的每一個字符開始處理;
判斷如果當(dāng)前坐標(biāo)不在數(shù)組范圍內(nèi)或者當(dāng)前坐標(biāo)位置的值不是'O',跳過不用處理;
判斷當(dāng)前坐標(biāo)位置的值如果不是'O',說明這個字符是和邊上的'O'連通的,將值暫時更新為'A';
然后遞歸處理當(dāng)前位置的前后左右四個位置。
最后遍歷數(shù)組,將數(shù)組中標(biāo)記為'A'的更新為'O',這些是和邊上的連通也就是沒有被'X'圍著的;將數(shù)組中標(biāo)記為'O'的更新為'X',這些是和邊上的不連通也就是完全被'X'圍著的。
【每日寄語】 把自卑從你的字典里刪去。不是每個人都可以成為偉人,但每個人都可以成為內(nèi)心強(qiáng)大的人,相信自己,找準(zhǔn)自己的位置,你同樣可以擁有一個有價值的人生。
標(biāo)簽: