(leetcode) 389. 找不同

编程入门 行业动态 更新时间:2024-10-07 00:17:36

(<a href=https://www.elefans.com/category/jswz/34/1769930.html style=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. 找不同

本文发布于:2024-02-25 08:17:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1698342.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:leetcode

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!