#+ANKI_DECK: study_deck_02 * TODO 0054. Spiral Matrix :medium: :PROPERTIES: :NEETCODE: [[file:../../roadmap.org::*0054. Spiral Matrix][0054. Spiral Matrix]] :END: Given an ~m x n~ ~matrix~, return /all elements of the/ ~matrix~ /in spiral order/. *Example 1:* #+begin_src Input: matrix = [[1,2,3],[4,5,6],[7,8,9]] Output: [1,2,3,6,9,8,7,4,5] #+end_src *Example 2:* #+begin_src Input: matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] Output: [1,2,3,4,8,12,11,10,9,5,6,7] #+end_src *Constraints:* - ~m == matrix.length~ - ~n == matrix[i].length~ - ~1 <= m, n <= 10~ - ~-100 <= matrix[i][j] <= 100~ ** TODO Approach Write your approach here. ** TODO Python #+begin_src python class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: #+end_src ** TODO C++ #+begin_src cpp class Solution { public: vector spiralOrder(vector>& matrix) { } }; #+end_src