leetcode 54 螺旋矩陣

2021-10-20 18:28:26 字數 855 閱讀 1543

剛開始的時候低估了這個題目,只把3x3的情況做出來了(錯誤**放在文末)

思路:由於不需要儲存訪問過的路徑,因此可以考慮通過更新邊界的方式控制訪問路徑。

首先訪問上邊界所在的行,上邊界訪問結束之後,更新上邊界

隨後訪問由邊界所在的列,右邊界訪問結束之後,更新右邊

其他邊界同理,在更新邊界的過程中一旦出現上下邊界相交,或者左右邊界相交的情況,則跳出迴圈

vectorspiralorder(vector>& matrix)

return res;

}

vectorspiralorder(vector>& matrix)

if (m == 1)

int i = 0, j = 0;

while (flag[i][j] == 0)

if (flag[i][j] == 1) break;

while (flag[i][j] == 0 && i < m - 1)

if (flag[i][j] == 1) break;

while (flag[i][j] == 0 && j > 0)

if (flag[i][j] == 1) break;

while (flag[i][j] ==0 && i > 1)

if (flag[i][j] == 1) break;

res.push_back(matrix[i][j]);

j++;

} return res;

}

LeetCode 54 螺旋矩陣

給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11...

leetcode54 螺旋矩陣

給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11...

leetcode 54 螺旋矩陣

給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 思路是 方向陣列 邊界調整 如下 class solution void matain int x,int...