题解 | #顺时针移动牛#

顺时针移动牛

https://www.nowcoder.com/practice/30aeb37fc774493eac7f6b6b5bfd6660

#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param matrix int整型vector<vector<>> 
     * @return int整型vector
     */
    vector<int> printMatrixInSpiralOrder(vector<vector<int> >& matrix) {
        // write code here
        int top=0,left = 0,buttom = matrix.size()-1,right = matrix[0].size()-1;
        int i=0,j=0;
        vector<int > res;
        while (top<=buttom ) {
            for(int i = left;i<=right;i++) res.push_back(matrix[top][i]);
            top++;
            for(int i = top;i<=buttom;i++) res.push_back(matrix[i][right]);
            right--;
            for(int i = right;i>=left&&top<=buttom;i--) res.push_back(matrix[buttom][i]);
            buttom--;
            for(int i = buttom;i>=top&&left<=right;i--) res.push_back(matrix[i][left]);
            left++;
        }
        return res;
    }
};

全部评论

相关推荐

头像
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务