How to find the longest common prefix of all the words in a string with TypeScript

1 Answer

0 votes
function longestCommonPrefix(input: string): string {
    if (!input || input.trim() === "") {
        return "";
    }

    // Split by non‑word characters (same as Java's split("\\W+"))
    const words: string[] = input
        .toLowerCase()
        .split(/\W+/)
        .filter(w => w.length > 0);

    if (words.length === 0) {
        return "";
    }

    let prefix: string = words[0];

    for (const word of words) {
        while (!word.startsWith(prefix)) {
            prefix = prefix.slice(0, -1);
            if (prefix === "") {
                return "";
            }
        }
    }

    return prefix;
}

const s1 = "The lowly inhabitants of the lowland were surprised to see the lower branches.";
console.log(`LCP: '${longestCommonPrefix(s1)}'`);

const s2 = "unclear, uncertain, unexpected";
console.log(`LCP: '${longestCommonPrefix(s2)}'`);




/*
run:

"LCP: ''" 
"LCP: 'un'" 

*/

 



answered Mar 12 by avibootz

Related questions

...