本文主要是介绍389.Find the Difference(找不同),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
给定两个字符串 s 和 t ,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
问题分析
根据题目描述我们可以知道,因为t是s重排之后添加一个字符得到的,所以如果删去添加的字符的话,t应该和s中字符出现的次数一样,但是因为额外添加了一个所以,某一个字符应该比s中对应的字符出现的次数多一次,由此可以写出下面的代码。
代码
char findTheDifference(char* s, char* t) {int a[26]={0};for(int i = 0; s[i]!='\0'; i++){a[s[i]-'a']++;}for(int i = 0; t[i]!='\0'; i++){a[t[i]-'a']--;}for(int i=0; i<26; i++){if(a[i]<0){return i+'a'; }}return 0;
}
提交结果截图
这篇关于389.Find the Difference(找不同)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!