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:

Input:
s = "abcd"
t = "abcde"

Output:
e

Explanation:
'e' is the letter that was added.
// XOR Bit Manipulation
char findTheDifference(string s, string t) { // time: O(n); space: O(1)
    int n = s.length();
    char res = t[n];
    for (int i = 0; i < n; ++i) {
        res ^= s[i];
        res ^= t[i];
    }
    return res;
}

Last updated

Was this helpful?