Spiral matrix traversal

Write codeMedium18 minMicrosoft and Amazon style

Your task

Given an m x n matrix (rows and columns may differ), return all its elements in spiral order: start at the top-left, go right across the top row, down the right column, left across the bottom, up the left column, then inward. 1 <= m, n <= 50. Return a flat list of the values in spiral sequence.

Examples

spiral_order(matrix: list[list[int]]) -> list[int]
Example 1
Inputspiral_order([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
Output[1, 2, 3, 6, 9, 8, 7, 4, 5]