LeetCode 389. Find the Difference(异或)
来源:互联网 发布:淘宝直通车定向推广 编辑:程序博客网 时间:2024/05/21 10:13
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:eExplanation:'e' is the letter that was added.
思路一:
为两个字符串分别建立map,存储字符串和个数的关系。则只需找出字符个数不一样的字符,即为增加的字符。
Code1:
class Solution {public: char findTheDifference(string s, string t) { map<char,int> sm; map<char,int> tm; for(int i=0;i<s.size();i++) sm[s[i]]++; for(int i=0;i<t.size();i++) tm[t[i]]++; for(auto & n:tm){ if(n.second!=sm[n.first]) return n.first; } }};
思路二:
使用异或操作,因为除了增加的字符为奇数个,其他字符的个数均为偶数个。原理同136. Single Number。
code2:
class Solution {public: char findTheDifference(string s, string t) { char r=0; for(char c:s) r ^=c; for(char c:t) r ^=c; return r; }};
阅读全文
0 0
- LeetCode 389. Find the Difference(异或)
- LeetCode 389 Find the Difference (异或)
- Leetcode#389. Find the Difference(位运算=异或)
- 389. Find the Difference (hash&异或)
- 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
- android跑马灯
- 正则表达式
- iOS自定义代码块
- 揭密出席第九届中国云计算大会的专家—近20个国家学者共话云计算大数据生态、应用
- iReport使用入门
- LeetCode 389. Find the Difference(异或)
- 自定义View 流程
- php微信
- 我也能爱莫能助了
- 归并排序(二分法)
- MYSQL数据库间同步数据
- JS省市二级联动菜单,sky整理收集。
- CheckBox案例实现
- 在Ubuntu和Windows上编译libcurl支持https