# 389. Find the Difference

192人阅读 评论(0)

Given two strings s and t which consist of only lowercase letters.

String t is generated by random shuffling string s and then add one more letter at a random position.

Find the letter that was added in t.

Example:

Input:
s = “abcd”
t = “abcde”

Output:
e

Explanation:
‘e’ is the letter that was added.
Subscribe to see which companies asked this question

public class Solution {
public char findTheDifference(String s, String t) {
int slen = s.length();
int tlen = t.length();
Map<Character, Integer> map = new HashMap<Character, Integer>();
for(int i = 0; i < slen; i++)
{
if(map.containsKey(s.charAt(i)))
{
int value = map.get(s.charAt(i));
value++;
map.put(s.charAt(i), value);
}else{
map.put(s.charAt(i), 1);
}
}
char res='\0';
for(int i = 0; i < tlen; i++)
{
if(map.containsKey(t.charAt(i)))
{
int value = map.get(t.charAt(i));
value--;
if(value < 0)
{
res = t.charAt(i);
break;
}
map.put(t.charAt(i), value);
}else{
res = t.charAt(i);
break;
}

}
return res;
}
}
0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：123054次
• 积分：3928
• 等级：
• 排名：第8006名
• 原创：282篇
• 转载：7篇
• 译文：0篇
• 评论：8条
评论排行
最新评论