刷力扣的时候做到了一道有意思的题,想写写自己的思路和一些解题方法。
首先字符串的拼接想到的是stringbuffer,用他的append方法
先用split方法切割字符串,然后我们要先判断第一个字符是不是元音,因为他有大小写之分,其实也就是判断是否为aAeE等10个字符,是则直接append原单词,否则的话用 substring方法切割出除第一个字符的字符串,然后先拼接字符串在拼接首字符,最后统一拼接ma,以及a的索引,索引我们可以用另一个stringbuffer来写,没执行一次i,append一个a
最终代码如下:
class Solution {
public String toGoatLatin(String sentence) {
String[] srr=sentence.split(" ");
StringBuffer sb=new StringBuffer();
StringBuffer t=new StringBuffer();
for(int i=0;i<srr.length;i++){
t.append("a");
char c=srr[i].charAt(0);
if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='A'||c=='E'||c=='I'||c=='O'||c=='U'){
sb.append(srr[i]);
}else{
sb.append(srr[i].substring(1));
sb.append(c);
}
sb.append("ma");
sb.append(t);
if(i+1!=srr.length){
sb.append(" ");
}
}
return sb.toString();
}
}