LeetCode 130 被圍繞的區域

2021-09-17 21:46:23 字數 909 閱讀 7145

給定乙個二維的矩陣,包含'x''o'字母 o)。

找到所有被'x'圍繞的區域,並將這些區域裡所有的'o''x'填充。

示例:

x x x x

x o o x

x x o x

x o x x

執行你的函式後,矩陣變為:

x x x x

x x x x

x x x x

x o x x

解釋:

被圍繞的區間不會存在於邊界上,換句話說,任何邊界上的'o'都不會被填充為'x'。 任何不在邊界上,或不與邊界上的'o'相連的'o'最終都會被填充為'x'。如果兩個元素在水平或垂直方向相鄰,則稱它們是「相連」的。

此題先檢查二維矩陣最外側的一圈邊界,當遇到字元'o'時,呼叫dfs函式,並在dfs函式中先將該位置的字元置為'$',然後判斷如果上下左右有字元'o'的話,呼叫dfs函式繼續處理。這個dfs函式的遞迴基是當上下左右都沒有'o'時,返回。如此進行處理完之後,此時二維矩陣上剩下的字元'o'就是被'x'包圍的了。然後再遍歷一次二維矩陣,然後當遇到'o'時,把它替換成'x';當遇到'$'時,把它替換為'o'。

class solution 

}}

for(int i = 0; i < board.size(); i++)}}

void dfs(int i, int j, vector>& board)

};

LeetCode130 被圍繞的區域

給定乙個二維的矩陣,包含 x 和 o 字母 o 找到所有被 x 圍繞的區域,並將這些區域裡所有的 o 用 x 填充。示例 x x x x x o o x x x o x x o x x執行你的函式後,矩陣變為 x x x x x x x x x x x x x o x x解釋 被圍繞的區間不會存在於...

Leetcode130 被圍繞的區域

給定乙個二維的矩陣,包含 x 和 o 字母 o 找到所有被 x 圍繞的區域,並將這些區域裡所有的 o 用 x 填充。示例 x x x x x o o x x x o x x o x x執行你的函式後,矩陣變為 x x x x x x x x x x x x x o x x解釋 被圍繞的區間不會存在於...

leetcode 130被圍繞的區域

給定乙個二維的矩陣,包含 x 和 o 字母 o 找到所有被 x 圍繞的區域,並將這些區域裡所有的 o 用 x 填充。示例 x x x x x o o x x x o x x o x x執行你的函式後,矩陣變為 x x x x x x x x x x x x x o x x解釋 被圍繞的區間不會存在於...