Leetcode—54.螺旋矩阵【中等】

2023每日刷题(七十)

Leetcode---54.螺旋矩阵

实现代码

cpp 复制代码
class Solution {
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) {
        vector<int> ans;
        int m = matrix.size();
        int n = matrix[0].size();
        int row = 0, col = 0;
        int flag = 0;
        while(1) {
            // 右移
            for(; col < n; col++) {
                if(matrix[row][col] != -300) {
                    flag--;
                    ans.push_back(matrix[row][col]);
                    matrix[row][col] = -300;
                } else {
                    flag++;
                    break;
                }
            }
            col--;
            // 下移
            row++;
            for(; row < m; row++) {
                if(matrix[row][col] != -300) {
                    flag--;
                    ans.push_back(matrix[row][col]);
                    matrix[row][col] = -300;
                } else {
                    flag++;
                    break;
                }
            }
            row--;
            // 左移
            col--;
            for(; col >= 0; col--) {
                if(matrix[row][col] != -300) {
                    flag--;
                    ans.push_back(matrix[row][col]);
                    matrix[row][col] = -300;
                } else {
                    flag++;
                    break;
                }
            }
            col++;
            // 上移
            row--;
            for(; row >= 0; row--) {
                if(matrix[row][col] != -300) {
                    flag--;
                    ans.push_back(matrix[row][col]);
                    matrix[row][col] = -300;
                } else {
                    flag++;
                    break;
                }
            }
            row++;
            col++;
            if(flag > 0) {
                break;
            }
            flag++;
        }
        return ans;
    }
};

运行结果


之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
一去不复返的通信er3 小时前
力扣-图论-岛屿数量
算法·leetcode·图论
青瓦梦滋3 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
程序 代码狂人6 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
HDU-Dade6 小时前
【校招笔试真题】简要介绍 Self-Attention 的前沿算法
人工智能·算法
Xin7707 小时前
LeetCode 79. 单词搜索(DFS 回溯法)
leetcode
小郎君6588 小时前
Vue keep-alive 切标签后滚动位置回顶?因为 onDeactivated 里读到的 scrollTop 是 0
算法
CodeYp20199 小时前
第15讲:二叉搜索树
开发语言·c++·二叉搜索树
邵奈一9 小时前
GPT-6.1 Terra速度是Sol的3倍,价格减半
算法
RaaS1009 小时前
Node.js Brotli RCE 漏洞自查指南:fetch、undici、axios 都在影响面,三分钟确认你的版本
人工智能·深度学习·算法