题目

给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。

示例 1:

输入:
[
[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]
]
输出: [1,2,3,6,9,8,7,4,5]
示例 2:

输入:
[
[1, 2, 3, 4],
[5, 6, 7, 8],
[9,10,11,12]
]
输出: [1,2,3,4,8,12,11,10,9,5,6,7]

解法 递归

class Solution {public:vector<int> result;vector<int> spiralOrder(vector<vector<int>>& matrix) {int m = matrix.size();if(m == 0)return result;int n = matrix[0].size();RecurOrder(matrix,0,0,m - 1,n - 1);return result;}void RecurOrder(vector<vector<int>> &matrix,int start_i,int start_j,int end_i,int end_j){if(start_i > end_i || start_j > end_j)return;else {//  cout<<start_i<<start_j<<end_i<<end_j<<endl;for(int i = start_j; i <= end_j;i++)result.push_back(matrix[start_i][i]);for(int i = start_i + 1; i < end_i;i++)result.push_back(matrix[i][end_j]);if(start_i < end_i){for(int i = end_j;i >= start_j;i--)result.push_back(matrix[end_i][i]);}// cout<<"?";if(start_j < end_j){for(int i = end_i - 1;i > start_i;i--)result.push_back(matrix[i][start_i]);}//  cout<<"?";RecurOrder(matrix,start_i + 1,start_j + 1,end_i - 1,end_j - 1); // 处理完外围之和转化成处理内圈的子问题}}
};

leetcode 54.螺旋矩阵相关推荐

  1. LeetCode 59. 螺旋矩阵 II LeetCode 54. 螺旋矩阵

    文章目录 1. 题目信息 2. LeetCode 59 解题 3. LeetCode 54. 螺旋矩阵 4.<剑指Offer>面试题29 1. 题目信息 给定一个正整数 n,生成一个包含 ...

  2. LeetCode 54.螺旋矩阵 - 原地修改

    [LetMeFly]54.螺旋矩阵 - 原地修改 力扣题目链接:https://leetcode.cn/problems/spiral-matrix/ 给你一个 m行 n列的矩阵 matrix,请按照 ...

  3. Java实现 LeetCode 54 螺旋矩阵

    54. 螺旋矩阵 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], ...

  4. 力扣(LeetCode)54. 螺旋矩阵(C++)

    思路分析 螺旋矩阵,又称蛇形矩阵,这是说,遍历它就像蛇一样一环一环的向内滑动. 遍历时变向,我们需要一个技巧.开方向数组, d x , d y dx,dy dx,dy,分别代表 x x x 的移动方向 ...

  5. leetcode 54. 螺旋矩阵

    难度:中等 频次:114 题目:给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素. 解题思路:按要求模拟遍历(重点在构造xy的坐标上) 注意: 需要定义四 ...

  6. Leetcode 54 螺旋矩阵 (每日一题 20210729)

    给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素.示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3 ...

  7. leetcode 54. 螺旋矩阵(递归)

    给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素. 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2 ...

  8. LeetCode 885. 螺旋矩阵 III

    1. 题目 在 R 行 C 列的矩阵上,我们从 (r0, c0) 面朝东面开始 这里,网格的西北角位于第一行第一列,网格的东南角位于最后一行最后一列. 现在,我们以顺时针按螺旋状行走,访问此网格中的每 ...

  9. LeetCode:螺旋矩阵【54】

    LeetCode:螺旋矩阵[54] 题目描述 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入: [[ 1, 2, 3 ],[ ...

最新文章

  1. 连接远程数据库ORACLE11g,错误百出!
  2. weblogic oracle连接池配置文件,关于WebLogic 访问Oracle 数据库(建立连接池)问题...
  3. 用TWaver加载大型游戏场景一例
  4. 数据库面试题【十三、大表数据查询,怎么优化】
  5. 新手如何准确的控制油门
  6. 搭建分布式键值对文件系统FastDFS
  7. java 小球抛物线_关于【愤怒的小鸟】其中的算法(自由落体,抛物线,碰撞,反弹)...
  8. Nginx+Tomcat搭建高性能负载均衡集群
  9. MYSQL5.6和5.7编译标准化安装与配置
  10. 判断数组类型的4种方法
  11. 降维系列之 LTSA 局部切空间排列
  12. 【毫米波雷达】人体目标探测理论
  13. 二或四 通道USB数据采集卡如合通过CMI耦合,构成USB高速多通道数据采集卡
  14. pythonstdin_详解Python 中sys.stdin.readline()的用法
  15. iPhone无法开机? 一招帮你“救活”
  16. python有向图遍历_用Networkx进行有向图遍历
  17. ROS1/2 C++ talker.cpp 对比案例
  18. 如何寻找合适的代言人进行品牌推广?
  19. 2017美团点评校招前端面试题
  20. 关于“未指定的错误”解答

热门文章

  1. 基于STM32单片机智能门牌门禁布防撤防防盗报警光强感应灯光系统原理图PCB
  2. yalmip + lpsolve + matlab 求解混合整数线性规划问题(MIP/MILP)
  3. 深度学习 面试 总结
  4. 真·0秒死机(瞬间死机)
  5. 数据分析上钻,下钻,切片,转轴含义的理解
  6. 20个新鲜的和鼓舞人心的电子商务网站
  7. 自动更新开奖数据的excel文件,供大家下载
  8. android:scaleType=“centerCrop”
  9. HTTP各个状态码的含义
  10. Python书籍阅读与记录6.10 II 变量和简单数据类型