查找字符串的最长公共前缀(JS)
问题描述:编写查询函数返回数字字符串中的最大公共前缀字符串。
输入:flower,flow,flight
输出:fl
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function() {
while(line = await readline()){
let strArray = line.split(',');
let maxStr = strArray[0]; // 初始化最长公共子序列为第一个字符串
for(let i=0; i<strArray.length; i++){
if(strArray[i].length < maxStr.length){
// 如果长度小于当前最长公共前缀
maxStr = strArray[i];
} else {
let j=0;
let strArray_i = strArray[i];
while(j< maxStr.length){
if(maxStr[j] !== strArray_i[j]){
break;
}else{
j++;
}
}
maxStr = maxStr.substring(0,j); // 获取相同的子串
}
}
console.log(maxStr);
}
}()