[LeetCode]--389. Find the Difference
2016-10-17 11:32
393 查看
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:
Output:
Explanation:
‘e’ is the letter that was added.
用数组记录字符的老办法。
用两个map记录字符及字符出现的次数。
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.
用数组记录字符的老办法。
public char findTheDifference(String s, String t) { int[] count = new int[248]; for (int i = 0; i < s.length(); i++) count[s.charAt(i) - 'a']++; for (int i = 0; i < t.length(); i++) { count[t.charAt(i) - 'a']--; if (count[t.charAt(i) - 'a'] < 0) return t.charAt(i); } return ' '; }
用两个map记录字符及字符出现的次数。
public char findTheDifference(String s, String t) {
Map<Character, Integer> sMap = new HashMap<Character, Integer>();
Map<Character, Integer> tMap = new HashMap<Character, Integer>();
for (int i = 0; i < t.length(); i++) {
if (i < s.length())
if (!sMap.containsKey(s.charAt(i)))
sMap.put(s.charAt(i), 1);
elsesMap.put(s.charAt(i), sMap.get(s.charAt(i)) + 1);
if (!tMap.containsKey(t.charAt(i)))
tMap.put(t.charAt(i), 1);
elsetMap.put(t.charAt(i), tMap.get(t.charAt(i)) + 1);
}
for (Character c : tMap.keySet()) {
if (!sMap.containsKey(c))
return c;
if (sMap.containsKey(c) && tMap.get(c) > sMap.get(c))
return c;
}
return ' ';
}
相关文章推荐
- LeetCode389. Find the Difference简单
- LeetCode—389. Find the Difference
- [leetcode]389. Find the Difference -- JavaScript 代码
- Leetcode 389 Find the Difference
- LeetCode笔记:389. Find the Difference
- LeetCode(389) Find the Difference
- leetcode 389. Find the Difference 牛人用异或 或者 求和 解决,很简单。
- LeetCode 389:Find the Difference
- Leetcode 389 Find the Difference
- Leetcode 389. Find the Difference
- leetcode:bits:Find the Difference(389)
- [leetcode] 389. Find the Difference 解题报告
- 【leetcode】389. Find the Difference【E】
- leetcode 389. Find the Difference 解题报告
- LeetCode[389]Find the Difference
- Leetcode 389. Find the Difference 找不同 解题报告
- LeetCode : 389. Find the Difference
- leetcode 389 Find the Difference C++
- 【leetcode】389. Find the Difference
- leetcode之389. Find the Difference(C++解法)