解法一
模拟。找出长度最长的单词,确定新单词的长度。按题目要求进行添加新字符,并去除结尾空格。
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;}}
