解法一
模拟。找出长度最长的单词,确定新单词的长度。按题目要求进行添加新字符,并去除结尾空格。
import java.util.ArrayList;
import java.util.List;
class Solution {
public List<String> printVertically(String s) {
String[] wordArr = s.split(" ");
int len = 0;
for (String str : wordArr) {
len = Math.max(len, str.length());
}
List<String> ansArr = new ArrayList<>(len);
for (int i = 0; i < len; ++i) {
StringBuilder stringBuilder = new StringBuilder();
for (int j = 0; j < wordArr.length; ++j) {
if (wordArr[j].length() <= i) {
stringBuilder.append(' ');
} else {
stringBuilder.append(wordArr[j].charAt(i));
}
}
for (int j = stringBuilder.length() - 1; j >= 0; --j) {
if (stringBuilder.charAt(j) == ' ') {
stringBuilder.deleteCharAt(j);
} else {
break;
}
}
ansArr.add(stringBuilder.toString());
}
return ansArr;
}
}