大家好,我叫亓官劼(qí guān jié ),在ImapBox中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!! 博主目前仅在ImapBox中写博客,唯一博客更新的地址为:亓官劼的博客 难度 简单 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 示例 2: 限制: 题目要求我们按顺时针进行打印,这里面使用的是返回一个 大家好,我叫亓官劼(qí guān jié ),在ImapBox中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!! 博主目前仅在ImapBox中写博客,唯一博客更新的地址为:亓官劼的博客
LeetCode 面试题29. 顺时针打印矩阵
题目
输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]
输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 输出:[1,2,3,4,8,12,11,10,9,5,6,7]
0 <= matrix.length <= 100
0 <= matrix[i].length <= 100
题解:
vector
,而不是真的打印,我们只需要按顺时针的顺序来将数据添加到vector中即可,要注意一下边界问题,完整的题解代码为:class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> ans; if(matrix.size() == 0) return ans; int row = matrix.size(); int col = matrix[0].size(); int num = row * col; int circle = 0; while(num){ // right for(int i = circle; (i < col - circle)&# i++){ ans.push_back(matrix[circle][i]); num--; } // down for(int i = 1+circle; (i <= row-circle-1)&# i++){ ans.push_back(matrix[i][col-circle-1]); num--; } // left for(int i = col-circle-2; (i >= circle)&# i--){ ans.push_back(matrix[row-circle-1][i]); num--; } // up for(int i = row-circle-2; (i >= circle+1)&# i--){ ans.push_back(matrix[i][circle]); num--; } circle++; } return ans; } };
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算