389. Find the Difference

Description

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.

Solution

Solution 1

/**
 * @param {string} s
 * @param {string} t
 * @return {character}
 */
var findTheDifference = function(s, t) {
    "use strict";
    for (let i = 0; i < s.length; i++) {
        t = t.replace(s[i], "");
    }
    return t;
};

Solution 2

/**
 * Solved with bit manipulation (XOR)
 * @param {string} s
 * @param {string} t
 * @return {character}
 */
var findTheDifference = function(s, t) {
    "use strict";
    let result = 0;
    for (let i = 0; i < s.length; i++) {
        result ^= s[i].charCodeAt();
    }
    for (let i = 0; i < t.length; i++) {
        result ^= t[i].charCodeAt();
    }
    return String.fromCharCode(result);
};

results matching ""

    No results matching ""