码迷,mamicode.com
首页 > 其他好文 > 详细

389. 找不同

时间:2020-02-28 12:10:47      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:table   问题   ++   字母   for   ret   ram   pre   keyword   

题目

给定两个字符串 st,它们只包含小写字母。

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

请找出在 t 中被添加的字母。
示例:

1
2
3
4
5
6
7
8
9
输入:
s = "abcd"
t = "abcde"

输出:
e

解释:
'e' 是那个被添加的字母。

解答

思路

这道题目可以转化为一个列表,其中有一个字符只出现了一次,其余的字符均出现两次的问题。将字符转换为char,使用异或即可。

代码

1
大专栏  389. 找不同n class="line">2
3
4
5
6
7
8
9
10
11
12
13
14
class  {
public char findTheDifference(String s, String t) {
char tmp = 0x00;
for(int i = 0;i < s.length();i++) {
tmp =(char)(tmp ^ s.charAt(i));
}

for(int i = 0;i < t.length();i++) {
tmp = (char)(tmp ^ t.charAt(i));
}

return tmp;
}
}

389. 找不同

标签:table   问题   ++   字母   for   ret   ram   pre   keyword   

原文地址:https://www.cnblogs.com/lijianming180/p/12376193.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!