Input :
1 2
3 4
Return the following :
[
[1],
[2, 3],
[4]
]
public class Solution {
public int[][] diagonal(int[][] A) {
int n = A.length;
int[][] ans = new int[2 * n - 1][];
int size = 1;
for (int i = 0; i < 2 * n - 1; i++) {
ans[i] = new int[size];
if (i >= (n - 1))
size--;
else
size++;
}
int index[] = new int[2 * n - 1];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
ans[i + j][index[i + j]] = A[i][j];
index[i + j] += 1;
}
}
return ans;
}
}