脑子清楚,写的还是很快的。主要是理解题意。
class Solution {
public:
vector<string> splits(string s){
string temp="";
vector<string> res;
for (int ii=0;ii<s.size();ii++){
if (s[ii]!=' '){
temp += s[ii];
}
else{
res.push_back(temp);
temp = "";
}
}
if (temp!=""){
res.push_back(temp);
}
return res;
}
vector<string> printVertically(string s) {
vector<string> words = splits(s);
int max_len = 0;
for (int i=0;i<words.size();i++){
if (words[i].size()>max_len){
max_len = words[i].size();
}
}
vector<string> res(max_len, "");
for (int i=0;i<max_len;i++){
int start_flag = 0;
for (int j=words.size()-1;j>=0;j--){
if (start_flag ==0 && i < words[j].size()){
start_flag = 1;
}
if (start_flag == 1){
if (i < words[j].size()){
res[i] = words[j][i] + res[i];
}
else{
res[i] = " " + res[i];
}
}
}
}
return res;
}
};