题目
给定两个字符串 s
和 t
,它们只包含小写字母。
字符串 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; } }
|