-
Notifications
You must be signed in to change notification settings - Fork 0
389. Find the Difference
Jacky Zhang edited this page Aug 29, 2016
·
1 revision
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.
解题思路为XOR位操作。 由于相同的字符异或之后为0,因此将s和t的每个字符都做异或操作后,最后剩下的即是多出来的那个不同的字符。
public class Solution {
public char findTheDifference(String s, String t) {
char c = 0;
for(int i = 0; i < s.length(); i++) {
c ^= s.charAt(i);
}
for(int i = 0; i < t.length(); i++) {
c ^= t.charAt(i);
}
return c;
}
}