824. Goat Latin

问题原文链接:

点击打开链接

问题思路很简单,就是使用StringBuilder words变量存储每个单词。至于单词的后缀“a”也是使用变量去储存,遇到空格增加一个“a”。代码如下:

    public String toGoatLatin(String S) {
        StringBuilder sentence = new StringBuilder();//返回的句子
        StringBuilder words = new StringBuilder();//单词储存器
        String postfix = "";//每个单词的后缀,遇到空格就+a
        //对字符串进行遍历,遇到空格就把上一个单词添加到sentence,不要忘记添加空格
        for (int i = 0;i<S.length();i++){
            if (S.charAt(i) !=  ' '&& i != S.length()-1){
                words.append(S.charAt(i));
                continue; }
            if (i == S.length()-1)
                words.append(S.charAt(i));

            postfix+="a";
            int length = words.length();
            //对单词首字符进行判断
            if (words.charAt(0) == 'a'||words.charAt(0) == 'e'|| words.charAt(0) == 'i' ||
                    words.charAt(0) == 'o'||words.charAt(0) == 'u'||words.charAt(0) == 'A'||words.charAt(0) == 'E'|| words.charAt(0) == 'I' ||
                    words.charAt(0) == 'O'||words.charAt(0) == 'U'){
                words.append("ma").append(postfix);
                sentence.append(words).append(" ");
                words = new StringBuilder();//对单词储存器进行清空,以便下一个单词使用
            }else{
                words.append(words.charAt(0)).append("ma").append(postfix);
                words.deleteCharAt(0);
                /*
                *不使用库函数
                * StringBuilder tmp="";
                *for(int i = 1;i<words.length();i++){
                *   tmp.append(words.charat(i));}
                * */
                sentence.append(words).append(" ");
                words = new StringBuilder();
            }
        }
        return sentence.toString().substring(0,sentence.length()-1);
        /*
        * 不使用库函数,同理上述
        * */
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值