So I found this thread that was extremely helpful in traversing an array diagonally. I\'m stuck though on mirroring it. For example:
var m = 3;
var n = 4;
va
/*
Initialize the 2-D array.
*/
String array2D[] = {
"mvjlixape",
"jhbxeenpp",
"hktthbswy",
"rwainuyzh",
"ppfxrdzkq",
"tpnlqoyjy",
"anhapfgbg",
"hxmshwyly",
"ujfjhrsoa"
};
// Print 2D array diagonally for left top to right down
for(int j = 0; j < array2D.length; j ++){
for(int i = 0; i < array2D.length; i++){
if(i+j >= array2D.length)
break;
System.out.print(array2D[i].charAt(i+j));
}
System.out.println();
}
for(int j = 1; j < array2D.length; j ++){
for(int i = 0; i < array2D.length; i++){
if(i+j >= array2D.length)
break;
System.out.print(array2D[i + j].charAt(i));
}
System.out.println();
}
// Print diagonally right top to left bottom diagonal
for(int j = 0; j < array2D.length; j++){
for(int i = j; i >= 0; i--){
System.out.print(array2D[j - i].charAt(i));
}
System.out.println();
}
for(int j = 1; j < array2D.length; j ++){
for(int i = j; i < array2D.length; i++){
System.out.print(array2D[array2D.length - i + j - 1].charAt(i));
}
System.out.println();
}