Diagonal matrix traversal
Your task
Given an m x n matrix, return all its elements in diagonal order: start at the top-left and traverse anti-diagonals, alternating direction, the first diagonal goes up-right, the next down-left, and so on in a zig-zag. 1 <= m, n <= 100. Return a flat list of the values in that order.
Examples
diagonal_order(mat: list[list[int]]) -> list[int]Example 1
Input
diagonal_order([[1, 2, 3], [4, 5, 6], [7, 8, 9]])Output
[1, 2, 4, 7, 5, 3, 6, 8, 9]