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.
|
Solution
(Find-the-Difference.java) download
1
2
3
4
5
6
7
8
9
10
11
| public class Solution {
public char findTheDifference(String s, String t) {
int n = t.length();
char ret = t.charAt(n-1);
for(int i = 0; i < n-1;i++){
ret ^= t.charAt(i);
ret ^= s.charAt(i);
}
return ret;
}
}
|
(find-the-difference.py) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| class Solution(object):
def findTheDifference(self, s, t):
"""
:type s: str
:type t: str
:rtype: str
"""
if s == None:
return t
s = sorted(s)
t = sorted(t)
for i in range(len(s)):
if t[i] != s[i]:
return t[i]
return t[-1]
|