day11-1678/389/709

34 阅读1分钟

第一题

题目

请你设计一个可以解释字符串 command 的 Goal 解析器 。command 由 "G""()" 和/或 "(al)" 按某种顺序组成。Goal 解析器会将 "G" 解释为字符串 "G""()" 解释为字符串 "o" ,"(al)" 解释为字符串 "al" 。然后,按原顺序将经解释得到的字符串连接成一个字符串。

给你字符串 command ,返回 ****Goal ****解析器 对 **command 的解释结果

思路

直接的思路就是直接调用字符串的api进行计算

代码

    public String interpret(String command) {
        return command.replace("()", "o").replace("(al)", "al");
    }

第二题

题目

给定两个字符串 s 和 t ,它们只包含小写字母。

字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。

请找出在 t 中被添加的字母

思路- 参考力扣官网

首先遍历字符串,对其中的每个字符都将计数值加1;然后遍历字符串t,对其中的每个字符都将计数值减1。当发现某个字符计数值为负数时,说明该字符在字符串t中出现的次数大于在字符串 s 中出现的次数,因此该字符为被添加的字符-

代码

    public char findTheDifference(String s, String t) {
        int[] arrChar = new int[26];
        for(int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            arrChar[ch - 'a']++;
        };
        for(int i = 0; i < t.length(); i++) {
            char ch = t.charAt(i);
            arrChar[ch - 'a']--;
            if(arrChar[ch - 'a'] < 0) {
                return ch;
            }
        };
        return ' ';
    }

第三题

题目

给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串

思路

直接的思路就是直接调用字符串的api进行计算

代码

    public String toLowerCase(String s) {
        return s.toLowerCase();
    }