第七十二天:力扣389题,找不同
地址:leetcode-cn.com/problems/fi…
思路:1.排序比对。2.map查找。
function findTheDifference(s: string, t: string): string {
let strs:Array<string> = s.split('').sort();// 转成数组好排序
let strt:Array<string> = t.split('').sort();
for(let i:number = 0; i < strs.length; i++)
{
if(strs[i] !== strt[i])
{
return strt[i];// 不同即输出
}
}
return strt[strt.length - 1]; // 超过strs长度的肯定就是最后一位不同了
};
map查找:
function findTheDifference(s: string, t: string): string {
let strs:Array<string> = s.split('').sort();
let strt:Array<string> = t.split('').sort();
let res:Map<string, number> = new Map();// 转成map好插入与查找
let arr:Map<string, number> = new Map();
for( let i of strs)
{
res.has(i) ? res.set(i, res.get(i) + 1) : res.set(i, 0);//没有直接插入,有了就数量加一
}
for( let i of strt)
{
arr.has(i) ? arr.set(i, arr.get(i) + 1) : arr.set(i, 0);
}
for( let i of strt)
{
if(res.get(i) !== arr.get(i))//值不对就输出
{
return i;
}
}
};