找不同算法
给定两个字符串 s
和 t
,它们只包含小写字母。
字符串 t
由字符串 s
随机重排,然后在随机位置添加一个字母。
请找出在 t
中被添加的字母。
示例 1:
输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。
示例 2:
输入:s = "", t = "y" 输出:"y"
提示:
0 <= s.length <= 1000
t.length == s.length + 1
s
和t
只包含小写字母
class Solution {
public char findTheDifference(String s, String t) {
char[] charS = s.toCharArray();
char[] charT = t.toCharArray();
Map<Character, Integer> mapS = new HashMap();
Map<Character, Integer> mapT = new HashMap();
for (char resultS : charS) {
int countS = mapS.containsKey(resultS) ? mapS.get(resultS) : 1;
mapS.put(resultS, countS + 1);
}
for (char resultT : charT) {
int countT = mapT.containsKey(resultT) ? mapT.get(resultT) : 1;
mapT.put(resultT, countT + 1);
if (!s.contains(String.valueOf(resultT)) || countT + 1 > mapS.get(resultT)) {
return resultT;
}
}
return charT[0];
}
}
原文地址:https://blog.csdn.net/linsa_pursuer/article/details/144106198
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!