首页 > 代码库 > 把指定的字符串翻译成 pig latin。
把指定的字符串翻译成 pig latin。
freecodecamp上的算法题:
把指定的字符串翻译成 pig latin。
Pig Latin 把一个英文单词的第一个辅音或辅音丛(consonant cluster)移到词尾,然后加上后缀 "ay"。
如果单词以元音开始,你只需要在词尾添加 "way" 就可以了。
代码:
function translate(str) {
var vowel = ["a", "e", "i", "o", "u"];
if (vowel.indexOf(str[0]) != -1) {
return str + "way";
}
while (vowel.indexOf(str[0]) == -1) {
str = str.substr(1) + str.substr(0, 1);
}
return str + "ay";
}
translate("consonant");
测试:
translate("california")
应该返回 "aliforniacay"。 translate("paragraphs")
应该返回 "aragraphspay"。translate("glove")
应该返回 "oveglay"。translate("algorithm")
应该返回 "algorithmway"。translate("eight")
应该返回 "eightway"。思路及疑问: 1. 将元音放在数组中
2. 检测字符串首字母是否为元音
3. 如果是,则直接在字符串末尾加“way”
4. 如果不是,则将第一个辅音或辅音丛移到字符串末尾,再加“ay”
为什么用 if-else 不行?即无法辨认辅音丛?
把指定的字符串翻译成 pig latin。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。