JavaScript自定义函数实现查找两个字符串最长公共

网络编程 2025-03-13 02:11www.168986.cn编程入门

在JavaScript的世界里,我们经常需要找到两个字符串之间最长公共子串的交集,因为它在很多场景中非常有用,如文本对比、文本相似性检查等。以下是如何用JavaScript自定义函数实现这一目标的详细。

让我们来看这个函数的核心逻辑。该函数首先比较两个字符串的长度,选择较短的字符串作为主循环对象,以避免不必要的计算量。接着,它遍历较短字符串的所有可能子串,并检查这些子串是否出现在另一个字符串中。如果找到了匹配项,则返回这个子串作为最长公共子串。如果没有找到任何匹配项,则返回空字符串。这个过程融合了字符串的遍历、比较和查找操作技巧。

下面是函数的详细代码:

```javascript

function findLongestCommonSubstring(s1, s2) {

var S = "", sstr = "", L1 = s1.length, L2 = s2.length;

// 交换字符串,确保s1是最短的字符串,以减少循环次数

if (L1 > L2) {

var temp = s1;

s1 = s2;

s2 = temp;

L1 = s2.length;

}

// 主循环遍历短字符串的所有可能子串

for (var j = L1; j > 0; j--) {

for (var i = 0; i <= L1 - j; i++) {

sstr = s1.substr(i, j); // 获取子串

if (s2dexOf(sstr) >= 0) return sstr; // 如果找到匹配项,返回子串

}

}

return ""; // 如果没有找到匹配项,返回空字符串

}

console.log(findLongestCommonSubstring("aaa3333", "baa333")); // 输出 "aa333"

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by