1
class Solution {
2
public List<String> printVertically(String s) {
3
s = s.replace(" ", ",");
4
String str = "";
5
List<String> a = new ArrayList<>();
6

7
int max = 0;
8
for (int i = 0; i < s.length(); i++) {
9
char ch = s.charAt(i);
10
if (ch == ',') {
11
a.add(str);
12
max = Math.max(max, str.length());
13
str = "";
14
continue;
15
} else if (i == s.length() - 1) {
16
str += ch;
17
a.add(str);
18
max = Math.max(max, str.length());
19
str = "";
20
continue;
21
}
22
str += ch;
23
}
24

25
String[] arr = new String[max];
26
for (int i = 0; i < max; i++) {
27
arr[i] = "";
28
}
29

30
for (int i = 0; i < a.size(); i++) {
31
String x = a.get(i);
32

33
for (int j = 0; j < max; j++) {
34

35
if (j < x.length()) {
36
arr[j] += x.charAt(j);
37
} else {
38
arr[j] += " ";
39
}
40
}
41
}
42

43
a = new ArrayList<>();
44
for (int i = 0; i < arr.length; i++) {
45

46
String x = arr[i];
47
x = trim(x);
48

49
a.add(x);
50
}
51

52
return a;
53
}
54

55
public String trim(String str) {
56
int len = str.length();
57
int st = 0;
58

59
char[] val = str.toCharArray();
60

61
while ((st < len) && (val[len - 1] <= ' ')) {
62
len--;
63
}
64
return str.substring(st, len);
65
}
66
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0