题解 | #查找兄弟单词#

查找兄弟单词

http://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68

本题类似于力扣242 有效的字母异位词,可以借助哈希表来解决。但是一个比较简单的方法是比较两个排序后的字符串是否相等。

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
var inputs=[];
rl.on('line',function(line){
    inputs = line.split(' ');
}).on('close',function(){
    let n = inputs[0];
    let candidate = inputs.slice(1,inputs.length-2);
    let key = inputs[inputs.length-2];
    let k =inputs[inputs.length-1];
    let bro = searchBro(candidate,key);
    bro.sort(); //将兄弟单词按字典序排列
    console.log(bro.length);
    if(bro[k-1]){
        console.log(bro[k-1]);
    }
    
})
//查找兄弟单词有哪些
function searchBro(arr,key){
    let result = [];
    for(let i = 0; i < arr.length; i++){
      //排序后比较字符串是否相等
        if((arr[i] !== key) && ([...arr[i]].sort().join('') === [...key].sort().join('')))
            result.push(arr[i]);
    }
    return result;
}
全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务