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放到一起,则多余的一个一定是奇数个,可以用异或解决。
有问题是:
ch ^= t.charAt(i); 没有问题;
ch = ch^t.charAt(i);会报:
incompatible types: possible lossy conversion from int to char待解决~~
参考:http://www.cnblogs.com/baichangfu/p/7468682.html
class Solution { public char findTheDifference(String s, String t) { t = s + t; char ch = 0; for(int i = 0; i < t.length(); i++){ ch ^= t.charAt(i); } return ch; } }
时间: 2024-10-05 09:18:02