题解 | #最长公共前缀#
最长公共前缀
https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr string字符串一维数组 * @return string字符串 */ //解题思路 //1. 首先判断字符串长度是否为0和1,是就直接返回(特例) //2. 不是就直接寻找最长公共前缀 //3. 定义一个变量prefix存储最长公共前缀,把第一字符串中每一位和后面字符串中对应的每一位比较,要是相等就循环,不相等就结束,返回prefix function longestCommonPrefix(arr) { if (arr.length === 0) return ""; if (arr.length === 1) return arr[0]; let prefix = ""; for (let i = 0; i < arr[0].length; i++) { const char = arr[0][i]; for (let j = 1; j < arr.length; j++) { if (arr[j][i] !== char) { return prefix; } } prefix += char; } return prefix; } module.exports = { longestCommonPrefix: longestCommonPrefix, };