剑指offer:面试题29. 顺时针打印矩阵
生活随笔
收集整理的這篇文章主要介紹了
剑指offer:面试题29. 顺时针打印矩阵
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目:順時針打印矩陣
輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數(shù)字。
示例 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]
限制:
0 <= matrix.length <= 100
0 <= matrix[i].length <= 100
解題:
class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {//判斷是否為空if(matrix.size() == 0 || matrix[0].size() == 0) return {};vector<int> res;int top = 0;int bottom = matrix.size() - 1;int left = 0;int right = matrix[0].size() - 1;while(true){for(int i=left;i<=right;i++){res.push_back(matrix[top][i]);}//top下移top++;if(top > bottom ) break;for(int i=top;i<=bottom;i++){res.push_back(matrix[i][right]);}right--;if(right < left) break;for(int i = right;i>=left;i--){res.push_back(matrix[bottom][i]);}bottom -- ;if(bottom < top) break;for(int i=bottom;i>=top;i--){res.push_back(matrix[i][left]);}left++;if(left > right) break;}return res;}
};
?
總結(jié)
以上是生活随笔為你收集整理的剑指offer:面试题29. 顺时针打印矩阵的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑指offer:面试题28. 对称的二叉
- 下一篇: 剑指offer:面试题30. 包含min