题解 | #螺旋矩阵# 谁能告诉我没有Debug的话,代码逻辑错误要找半天咋办?

螺旋矩阵

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

class Solution {
public:
    vector<int> spiralOrder(vector<vector<int> > &matrix) {
        if(matrix.size() == 0) return {};
        int up = 0,dow = matrix.size()-1,le = 0,ri = matrix[0].size()-1;
        vector<int> res;
        while(up<=dow || le <= ri){
            for(int i=le;i<=ri && up <= dow;i++ ){
                res.push_back(matrix[up][i]);
            }
            up++;
            for(int i=up;i<=dow && ri >= le;i++ ){
                res.push_back(matrix[i][ri]);
            }
            ri--;
            for(int i=ri;i>=le && dow >= up;i-- ){
                res.push_back(matrix[dow][i]);
            }
            dow--;
            for(int i=dow;i>=up && le <= ri;i-- ){
                res.push_back(matrix[i][le]);
            }
            le++;
        }
        
        return res;
    }
};
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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