字母异位词

字母异位词

 1process.stdin.resume();  2process.stdin.setEncoding('utf-8');  3let input = '';  4  5process.stdin.on('data', (data) => {  6 input += data;  7});  8  9process.stdin.on('end', () => { 10 let inputArray = input.trim().split('\n'); 11 let s = inputArray[0]; 12 let t = inputArray[1]; 13 14 /** 15 * 判断t是否是s的字母异位词的函数 16 */ 17 function doFunc(s, t) { 18 // 如果两个字符串长度不同,则它们不可能是字母异位词 19 if (s.length !== t.length) { 20 return 'FALSE'; 21 } 22 23 // 创建一个对象来存储字母的频率 24 let charCount = {}; 25 26 // 遍历字符串s,记录每个字母的频率 27 for (let char of s) { 28 if (charCount[char]) { 29 charCount[char]++; 30 } else { 31 charCount[char] = 1; 32 } 33 } 34 35 // 遍历字符串t,减少对应字母的频率 36 for (let char of t) { 37 if (charCount[char]) { 38 charCount[char]--; 39 } else { 40 // 如果在t中遇到了s中没有的字母,则它们不是字母异位词 41 return 'FALSE'; 42 } 43 } 44 45 // 检查所有字母的频率是否都为零 46 for (let count of Object.values(charCount)) { 47 if (count !== 0) { 48 return 'FALSE'; 49 } 50 } 51 52 // 如果所有检查都通过,则它们是字母异位词 53 return 'TRUE'; 54 } 55 56 // 调用函数并输出结果 57 console.log(doFunc(s, t)); 58 59 process.exit(); 60});
process.stdin.resume(); process.stdin.setEncoding('utf-8'); let input = ''; process.stdin.on('data', (data) => { input += data; }); process.stdin.on('end', () => { let inputArray = input.trim().split('\n'); let s = inputArray[0]; let t = inputArray[1]; /** * 判断t是否是s的字母异位词的函数 */ function doFunc(s, t) { // 如果两个字符串长度不同,则它们不可能是字母异位词 if (s.length !== t.length) { return 'FALSE'; } // 创建一个对象来存储字母的频率 let charCount = {}; // 遍历字符串s,记录每个字母的频率 for (let char of s) { if (charCount[char]) { charCount[char]++; } else { charCount[char] = 1; } } // 遍历字符串t,减少对应字母的频率 for (let char of t) { if (charCount[char]) { charCount[char]--; } else { // 如果在t中遇到了s中没有的字母,则它们不是字母异位词 return 'FALSE'; } } // 检查所有字母的频率是否都为零 for (let count of Object.values(charCount)) { if (count !== 0) { return 'FALSE'; } } // 如果所有检查都通过,则它们是字母异位词 return 'TRUE'; } // 调用函数并输出结果 console.log(doFunc(s, t)); process.exit(); });

Powered By 可尔物语

浙ICP备11005866号-12