题目:
山羊拉丁文
解题办法:
简单模拟即可,直接看代码
class Solution {
public:
bool judgeyuan(char a)
{
cout << a << endl;
if(a == 'a' ||a == 'e' || a == 'i' || a == 'o' || a == 'u')
return true;
if(a == 'A' ||a == 'E' || a == 'I' || a == 'O' || a == 'U')
return true;
return false;
}
string toGoatLatin(string sentence) {
istringstream input(sentence);
int i = 1;
vector<string> vec;
string temp;
string ans;
while(input >> temp)
vec.push_back(temp);
for(auto& str:vec)
{
if(judgeyuan(str[0]))
str.append("ma");
else
{
str.push_back(str[0]);
str.erase(0,1);
str.append("ma");
}
str.insert(str.length()-1,i,'a');
ans.append(str);
if(i < vec.size())
ans.append(" ");
i++;
}
return ans;
}
};
没什么难点,就把每个单词分割出来,然后根据元音还是辅音进行操作即可,我的代码有点累赘,官方给的代码更加简洁,不过思路都是一样的,我是把每个单词分割出来存在vector中,官解是根据空格判断单词。
个人网站: