(背下來)59. 螺旋矩陣 II
阿新 • • 發佈:2021-02-16
技術標籤:leetcode刷題
###解題思路
經典模擬題,首先定義row=0,col=-1
然後用試探法判斷下一步有沒有越界以及可不可以擺放相應的元素
###程式碼
class Solution { public: vector<vector<int>> generateMatrix(int n) { vector<vector<int>> res(n,vector<int>(n,0)); int row = 0,col = -1; int count = 0; int N = n*n; while(N){ while(col + 1 < n && !res[row][col+1]) res[row][++col] = ++count,N--; while(row + 1 < n && !res[row+1][col]) res[++row][col] = ++count,N--; while(col - 1 >= 0 && !res[row][col-1]) res[row][--col] = ++count,N--; while(row - 1 >= 0 && !res[row-1][col]) res[--row][col] = ++count,N--; } return res; } };