| 12345678910111213141516171819202122232425 | func findDiagonalOrder(matrix [][]int) (ans []int) {	m := len(matrix)	if m == 0 {		return	}	n := len(matrix[0])	if n == 0 {		return	}	x, y := 0, 0	dx, dy := 1, -1	for i := 0; i < m*n; i++ {		ans = append(ans, matrix[y][x])		if ny := y + dy; (ny == -1 || ny == m) && x != n-1 {			dx, dy = -dx, -dy			x++		} else if nx := x + dx; nx == -1 || nx == n {			dx, dy = -dx, -dy			y++		} else {			x, y = nx, ny		}	}	return}
 |