Given a matrix of m x n elements (m rows, n columns), return all elements of the Matri X in Spiral Order.
For example,
Given the following matrix:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
You should return [1,2,3,6,9,8,7,4,5] .
Class Solution {public:vector<int> Spiralorder (vector<vector<int> > &matrix) {vector <int> Res; int n= matrix.size (); if (n==0) return res; if (n==1) return matrix[0]; int m = Matrix[0].size (); bool Left_up = true; BOOL Left_down = false; BOOL right_up = false; BOOL Right_down = false; int min_i = 0; int max_i = n-1; int min_j = 0; int max_j = m-1; while (min_i<=max_i && min_j<=max_j) {if (left_up = = True) {for ( int j = Min_j; j<=max_j; J + +) Res.push_back (Matrix[min_i][j]); Left_up = false; Right_up = true; Min_i = min_i+1; } else if (right_up = = True) {for (int i=min_i; i<=max_i; i++) R Es.push_back (Matrix[i][max_j]); Max_j = Max_J-1; Right_up = false; Right_down = true; } else if (Right_down = = True) {for (int j=max_j; j>=min_j; j--) Res.push_back (Matrix[max_i][j]); Max_i = max_i-1; Left_down = true; Right_down = false; } else {for (int i=max_i; i>=min_i; i--) Res.push_back (matrix[i ][min_j]); Min_j = min_j+1; Left_up = true; Left_down = false; }} return res; }};
Leetcode--spiral Matrix