zoukankan      html  css  js  c++  java
  • 824. 山羊拉丁文『简单』

    题目来源于力扣(LeetCode

    一、题目

    824. 山羊拉丁文

    题目相关标签:字符串

    说明:

    • S 中仅包含大小写字母和空格。单词间有且仅有一个空格。
    • 1 <= S.length <= 150

    二、解题思路

    1. 对字符串 S 进行空格的分组,得到单词数组

    2. 遍历单词数组,对每一个单词都判断单词的首字母是否为元音字母(不区分大小写)

    三、代码实现

    public static String toGoatLatin(String S) {
        StringBuilder ans = new StringBuilder();
        // a 的个数初始为 1
        StringBuilder acount = new StringBuilder("a");
        String maStr = "ma";
        String[] strs = S.split(" ");
    
        for (int i = 0; i < strs.length; i++) {
            String str = strs[i];
            char c = str.charAt(0);
            // 对单词中的首位字符进行判断
            if (isvowel(c)) {
                ans.append(str);
            } else {
                // 非元音字母时,字符串的首位挪到末位后
                ans.append(str.substring(1));
                ans.append(c);
            }
            // 为字符串添加字符串 ma 和字符串索引 + 1 个长度的字符 a
            ans.append(maStr);
            ans.append(acount);
            // 当前字符串不是数组的最后一位时,才加空格分隔符
            if (i < strs.length - 1) {
                ans.append(" ");
            }
            // a 的个数每次加 1
            acount.append("a");
        }
        return ans.toString();
    }
    
    // 判断某字符是否元音字母
    public static boolean isvowel(char c) {
        return c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'
            || c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
    }
    

    四、执行用时

    五、部分测试用例

    public static void main(String[] args) {
        String S = "I speak Goat Latin";  // output:"Imaa peaksmaaa oatGmaaaa atinLmaaaaa"
    
    //    String S = "The quick brown fox jumped over the lazy dog";  
        // output:"heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa"
        String result = toGoatLatin(S);
        System.out.println(result);
    }
    
  • 相关阅读:
    STL源码剖析之_allocate函数
    PAT 1018. Public Bike Management
    PAT 1016. Phone Bills
    PAT 1012. The Best Rank
    PAT 1014. Waiting in Line
    PAT 1026. Table Tennis
    PAT 1017. Queueing at Bank
    STL源码剖析之list的sort函数实现
    吃到鸡蛋好吃,看看是哪只母鸡下的蛋:好用的Sqlite3
    cJSON
  • 原文地址:https://www.cnblogs.com/zhiyin1209/p/12976734.html
Copyright © 2011-2022 走看看