使用C ++在字符串中查找一个额外的字符。
假设我们有两个字符串S和T,S的长度为n,T的长度为n+1。T将容纳S中存在的所有字符,但将容纳一个额外的字符。我们的任务是使用一些有效的方法找到额外的角色。
为了解决这个问题,我们将使用一个空的哈希表,并插入第二个字符串的所有字符,然后从第一个字符串中删除每个字符,其余字符为多余的字符。
示例
#include<iostream>
#include<unordered_map>
using namespace std;
char getExtraCharacter(string S, string T) {
unordered_map<char, int> char_map;
for (int i = 0; i < T.length(); i++)
char_map[T[i]]++;
for (int i = 0; i < S.length(); i++)
char_map[S[i]]--;
for (auto item = char_map.begin(); item != char_map.end(); item++) {
if (item->second == 1)
return item->first;
}
}
int main() {
string S = "PQRST";
string T = "TUQPRS";
cout << "Extra character: " << getExtraCharacter(S, T);
}输出结果
Extra character: U
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短