本文共 726 字,大约阅读时间需要 2 分钟。
题目地址:
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:
eExplanation:
‘e’ is the letter that was added.
这个问题的逻辑也比较简单,两个字符串,如果光是插入一下,那就简答多了,但是这里麻烦就麻烦再它又打乱了一下次序。如果一个个去找也没问题,但是我们更想要的是一次性解决问题,两个字符串分别过一次,OK,于是跟 中的想法又一样了。
思路很简单,反正两个字符串拼起来以后,只有插进去的那个字符数目是奇数,其他的字符的个数都是偶数。
Java代码实现:
public char findTheDifference(String s, String t) { int res = 0; for (int i = 0; i < s.length(); i++) { res = res ^ s.charAt(i); } for (int i = 0; i < t.length(); i++) { res = res ^ t.charAt(i); } return (char)res;}
转载地址:http://okhii.baihongyu.com/