第一题
题目
请你设计一个可以解释字符串 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();
}