[LeetCode]--389. Find the Difference
来源:互联网 发布:冥府之路 知乎 编辑:程序博客网 时间:2024/04/29 11:12
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.
用数组记录字符的老办法。
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); else sMap.put(s.charAt(i), sMap.get(s.charAt(i)) + 1); if (!tMap.containsKey(t.charAt(i))) tMap.put(t.charAt(i), 1); else tMap.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 ' '; }
0 0
- 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]--389. Find the Difference
- leetcode 389. Find the Difference
- LeetCode 389. Find the Difference
- LeetCode 389. Find the Difference
- leetcode 389. Find the Difference
- 389.[LeetCode]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
- https 详解
- Ubuntu中关闭桌面
- Xcode中iOS DeviceSupport 文件过大
- 发行你的数字货币
- Linux中select()函数分析
- [LeetCode]--389. Find the Difference
- linux系统下的OPENCV编译
- STM32|4-20mA输出电路
- Unicode 汉字编码表
- [翻译]HyperLedger下一代总账架构提案
- fast report 报表列中跨行合并功能解决办法
- 事务是什么,以及事务四个特性
- Android:Activity与Fragment通信(99%)完美解决方案
- C 编译错误 及解决方法总结