题目
dfs解决
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
m = matrix.size()-1;
n = matrix[0].size()-1;
dfs(matrix,0,0);
return res;
}
private:
int m;
int n;
//用于记录遍历的是第几个圈
int count = 0;
vector<int>res;
void dfs(vector<vector<int>>& matrix,int i,int j){
//用于终止条件
if(res.size()==matrix.size()*matrix[0].size())
return;
//遍历上方一横条
if(j<n-count&&i==count){
res.push_back(matrix[i][j]);
dfs(matrix,i,j+1);
}//遍历右边一竖条
else if(j==n-count&&i<m-count){
res