题目
给定两个字符串 s 和 t,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
示例:
输入:
s = “abcd”
t = “abcde”
输出:
e
解释:
‘e’ 是那个被添加的字母。
思路
跟这一题特别像:383.赎金信
一个字符串里面是否包含了另外的一个字符串。
代码
class Solution {
public char findTheDifference(String s, String t) {
int len1 = s.length(),len2 = t.length();
int[] mark = new int[256];
char[] c1 = s.toCharArray(),c2 = t.toCharArray();
char r = 'a';
for(int i=0; i<len2; i++){
mark[c2[i]]++;
}
for(int i=0; i<len1; i++){
mark[c1[i]]--;
}
for(int i=0; i<256; i++){
if(mark[i]==1) r = (char)i;
}
return r;
}
}