题目描述
给定两个字符串 s 和 t,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
解题思路
创建一个letter数组,从0到25,分别是s中a到z的个数,再遍历t数组,遇到某个字母就让letter数组中对应位置减一,则一旦遇到负数的情况,一定是被添加的字母,记录在t的位置放入index 返回
解题代码
class Solution {
public char findTheDifference(String s,String t){
if(s.length()==0){
return t.charAt(0);
}
int[] letter = new int[26];
int index = 0;
for(int i = 0;i < s.length();i++){
letter[s.charAt(i)-97]++;
}
for(int i = 0;i < t.length();i++){
if(--letter[t.charAt(i)-97]<0){
index=i;
break;
}
}
return t.charAt(index);
}
}
写于此仅用于学习交流,不足之处请多多包涵。