LeetCode 算法:螺旋矩阵c++
原题链接🔗:螺旋矩阵
难度:中等⭐️⭐️
题目
给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。
示例 1:
输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[1,2,3,6,9,8,7,4,5]
示例 2:
输入: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]
提示:
m == matrix.length
n == matrix[i].length
1 if (matrix.empty() || matrix[0].empty()) return {}; std::vector // Traverse from left to right. for (int i = left; i result.push_back(matrix[top][i]); } ++top; // Traverse downwards. for (int i = top; i result.push_back(matrix[i][right]); } --right; // Make sure we are now on a different row. if (top for (int i = right; i = left; --i) { result.push_back(matrix[bottom][i]); } --bottom; } // Make sure we are now on a different column. if (left for (int i = bottom; i = top; --i) { result.push_back(matrix[i][left]); } ++left; } } return result; } int main() { std::vector {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; std::vector std::cout {1, 2, 3, 4 }, {5, 6, 7, 8 }, {9, 10, 11, 12} }; std::vector std::cout


