Diagonal Traverse LeetCode solution in Python
1class Solution:2def findDiagonalOrder(self, mat: List[List[int]]) -> List[int]:3flag, rowNum, colNum = True, len(mat), len(mat[0])45total, ans = 0, []6while total <= rowNum + colNum - 2:7iLimited = rowNum - 1 if flag else colNum - 18jLimited = colNum - 1 if flag else rowNum - 19i = total if total < iLimited else iLimited10j = total - i11while i >= 0 and j <= jLimited:12if flag:13ans.append(mat[i][j])14else:15ans.append(mat[j][i])16i -= 117j += 118total += 119flag = not flag20return ans