一、题目
给定两个字符串 s 和 t,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
示例:
输入: s = "abcd" t = "abcde" 输出: e 解释: 'e' 是那个被添加的字母。
二、题解思路
- 题解思路:先对字符串s和t进行排序(对string类型的字符串进行排序,sort()函数仍可以用),然后一层遍历找不同,在s.size()范围内,如出现不同(s[i]!=t[i]),则这个插入的元素是t[i],若在s.size()范围内没有找到不同,则t最后一个元素是不同。
三、代码实现
- C++代码实现
class Solution {
public:
char findTheDifference(string s, string t)
{
sort(s.begin(),s.end()); //使用sort函数对字符串中的字母进行升序排序
sort(t.begin(),t.end());
for(int i = 0;i<s.size();i++)
{
if(s[i]!=t[i])
return t[i];
}
return t[t.size()-1];
}
};