[LeetCode] 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.

 

 

 一开始想用hashtable 来着,提交了以后发现完全没有考虑重复字符的情况。。。。最后采用排序然后线性扫描。应该没有更简单的方法了吧
/**
 * @param {string} s
 * @param {string} t
 * @return {character}
 */
var findTheDifference = function(s, t) {
    var ss = s.split('').sort();
    var st = t.split('').sort();
    var i = 0;
    while (1) {
        if (st[i] !== ss[i]) return st[i];
        i++;
    }
};

 

posted @ 2016-09-01 16:31  Agentgamer  阅读(125)  评论(0编辑  收藏  举报