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