题解 | #螺旋矩阵#

螺旋矩阵

http://www.nowcoder.com/practice/7edf70f2d29c4b599693dc3aaeea1d31

class Solution { public: vector spiralOrder(vector<vector > &matrix) { int x = matrix.size(); int y = matrix[0].size(); vector ans; if(x==0||y==0) return {}; int left = 0, right = y-1, up = 0, down = x-1; while(left<=right&&up<=down){ for(int i=left;i<=right;i++) ans.push_back(matrix[up][i]); //左右遍历 up++; if(left>right||up>down) break; // 左大于右或上大于下,跳出 for(int i=up;i<=down;i++) ans.push_back(matrix[i][right]); //上下遍历 right--; if(left>right||up>down) break; for(int i=right;i>=left;i--) ans.push_back(matrix[down][i]); down--; if(left>right||up>down) break; for(int i=down;i>=up;i--) ans.push_back(matrix[i][left]); left++; if(left>right||up>down) break; } return ans; } };

全部评论

相关推荐

饿魔:去不了大厂,总有能去的地方,不知道焦虑什么
点赞 评论 收藏
分享
09-09 16:12
已编辑
成都理工大学 Java
future0210:学java就是好啊,啥都能转
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务