leetcode) 389. 找不同"/>
(leetcode) 389. 找不同
文章目录
- 389. 找不同 javascript
389. 找不同 javascript
题目:
给定两个字符串 s 和 t,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母.
示例
输入:s = "abcd", t = "abcde"
输出:"e"
解释:'e' 是那个被添加的字母。输入:s = "", t = "y"
输出:"y"输入:s = "a", t = "aa"
输出:"a"输入:s = "ae", t = "aea"
输出:"a"
思路1
- 分别计算s、t字符串的unicode编码
- 做差
- 得到的差值对应的就是新添加进去的字母
代码1
var findTheDifference = function(s, t) {// 将unicode编码进行累加,然后相减,得到的绝对值对应的就是添加进去的一个var sum = 0var sum1 =0for(var i=0;i<t.length;i++){sum += t.charCodeAt(i)}for(var j=0;j<s.length;j++){sum1 += s.charCodeAt(j)}return String.fromCharCode(sum-sum1)
};
思路2 正则表达式
- 将两个字符串拼接在一起
- 判断每个字母的个数
- 如果为奇数个,则证明是新添加进去的字母
代码1
var findTheDifference = function(s, t) {//将两个字符串拼接在一起判断每个字母的个数,如果为奇数个,则证明是新添加进去的字母var st = s + tfor(var i=0;i<t.length;i++){if(st.match(new RegExp(t[i],'g')).length & 1)return t[i]}
};
(7种解法)附大佬链接
学艺不精,还需努力💪
更多推荐
(leetcode) 389. 找不同
发布评论