首页 > 学院 > 开发设计 > 正文

389. Find the Difference

2019-11-06 06:47:43
字体:
来源:转载
供稿:网友

题目

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.

翻译

给定两个字符串s和t只由小写字母组成。

字符串t由随机字符串s生成,然后在随机位置添加一个字母。

找到在t中添加的字母。

思路:

注意:两个字符串,且中间有一个字符不同,这让我立刻想到了刚刚看过的http://blog.csdn.net/zzlcsdn2017/article/details/59697212异或的妙用。 只要让两个字符串加起来,然后依次异或就可以得到不同的那个字母。

解答

我的解法在循环方面做的不够简练,在网上找到了这个

class Solution { public: char findTheDifference(string s, string t) { s += t; int ch =0; for(auto val: s) ch ^= val; return ch; } };

原文:http://blog.csdn.net/QQ508618087/article/details/52352635,他还有hash表解法,但是这个我不会,我要学学再来更新


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表