题目:
给定两个字符串,从字符串2中找出字符串1中的所有字符,去重并按照ASCII值从小到大排序输入字符串1:长度不超过1024
输入字符串2:长度不超过1000000
字符范围满足ASCII编码要求,按照ASCII的值由小到大排序
输入描述:
bach
bbaaccedfg
输出描述:
abc
解题思路:
1、用哈希表存储字符串2中每个出现的字符,通过判断字符串1中的字符是否在字符串2中出现,如果出现就添加到新的数组中。
2、对新的数组进行排序,并转换成字符串得到最终结果。
代码:
function strList(str1,str2) {
let newStr = []
const map = new Map()
for(let i = 0 ; i < str2.length ; i++) {
map.set(str2[i],true)
}
for(let j = 0 ; j < str1.length ; j++) {
if(map.has(str1[j])) {
newStr.push(str1[j])
}
}
newStr.sort()
return newStr.join('')
}
console.log(strList('bach','bbaaccedfg')) //abc