public static void main(String[] args) {
int a[][] = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 } };
int r= a.length;
int c = a[0].length;
for (int k = 0; k <= r+c-2; k++) {
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++) {
if(i+j==k){
System.out.print(a[j][i]+" ");
}
}
}
System.out.println();
}
}
此方法虽然时间复杂度比较高,但是代码比较简洁。
结果为:
1
5 2
9 6 3
13 10 7 4
14 11 8
15 12
16