2
public String decodeCiphertext(String str, int rows) {4
// first find column size!!5
int cols = str.length() / rows;6
StringBuilder res = new StringBuilder(), new_res = new StringBuilder();8
for (int i = 0; i < cols; i++) {10
// iterating diagonally!!11
for (int j = i; j < str.length(); j += cols + 1) res.append(str.charAt(j));14
// removing last spaces!!!16
for (int i = res.length() - 1; i >= 0; i--) {18
if (fg == 0 && res.charAt(i) == ' ') continue;20
new_res.append(res.charAt(i));22
return new_res.reverse().toString();