389. Find the Difference (Easy)
https://leetcode.com/problems/find-the-difference/
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.
Solutions
class Solution {
public char findTheDifference(String s, String t) {
Map<Character, Integer> occurrence = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
Character c = s.charAt(i);
if (!occurrence.containsKey(c)) {
occurrence.put(c, 0);
}
occurrence.put(c, occurrence.get(c) + 1);
}
for (int i = 0; i < t.length(); i++) {
Character c = t.charAt(i);
if (!occurrence.containsKey(c) || occurrence.get(c) == 0) {
return c;
}
occurrence.put(c, occurrence.get(c) - 1);
}
return 'a';
}
}