Given an m x n matrix, return all elements of the matrix in spiral order.
A spiral order traversal starts from the top-left corner and moves right, then down, then left, then up, and repeats this pattern, moving inward with each cycle until all elements are visited.
m == matrix.lengthn == matrix[i].length1 <= m, n <= 10-100 <= matrix[i][j] <= 100matrix = [[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]