leetcode-389-Find-the-Difference

描述


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:

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

Output:
e

Explanation:
'e' is the letter that was added.

分析


利用异或运算的特性,记得 RAID5 也是用这个算法实现的。

解决方案1(Java)


1
2
3
4
5
6
7
8
9
10
11
class Solution {
public char findTheDifference(String s, String t) {
int n = t.length();
char result = t.charAt(n-1);
for (int i = 0; i < n-1; i++) {
result ^= s.charAt(i);
result ^= t.charAt(i);
}
return result;
}
}

相关问题


(E) Single Number

题目来源