[LeetCode] 389.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.
解题思路
由于字符串t只比s多一个字母,且其他字母都相同,则可以采用异或的方法来解决这个问题,找到唯一的那个多出来的字母。
实验代码
class Solution {
public:
char findTheDifference(string s, string t) {
int temp = 0;
s = s + t;
int l = s.length();
for (int i = 0; i < l; i++)
temp ^= s[i] - 'a';
char c = 'a' + temp;
return c;
}
};
本文介绍了解决LeetCode 389题“寻找不同”问题的一种有效方法。该问题要求找出由字符串s通过随机重排并添加一个额外字母生成的字符串t中的新增字母。文中提供了一种使用异或运算的解题思路,并附带了C++实现代码。

被折叠的 条评论
为什么被折叠?



