给定两个字符串 s 和 t,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
示例:
输入: s = "abcd" t = "abcde" 输出: e 解释: 'e' 是那个被添加的字母。
方法一:
用异或方法,最后剩的就是被添加的字母
class Solution {
public char findTheDifference(String s, String t) {
char res=0;
for(int i=0;i<s.length();i++)
{
res^=s.charAt(i);
}
for(int i=0;i<t.length();i++)
{
res^=t.charAt(i);
}
return res;
}
}
方法二:
一加一减法
class Solution {
public char findTheDifference(String s, String t) {
char res=0;
for(int i=0;i<s.length();i++)
{
res-=s.charAt(i);
}
for(int i=0;i<t.length();i++)
{
res+=t.charAt(i);
}
return res;
}
}
方法三,哈希集合法