JavaScript 实现查找字符串最长回文子串
作者:异步漫步时间:2026-10-23 03:42:47浏览:350
本文介绍了一种使用 JavaScript 查找字符串中最长回文子串的方法。通过遍历字符串并判断子串是否为回文,记录并更新最长回文串。代码包含核心函数实现及测试用例,适合前端开发者参考学习字符串处理与基础算法逻辑。
JavaScript 查找最长回文子串实现
本文通过具体代码示例,展示如何在 JavaScript 中查找字符串内的最长回文子串,供读者参考学习。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>回文</title>
<link rel="stylesheet" href="">
</head>
<body>
<script type="text/javascript">
function longestPalindrome(str){
let palindromeStr=""; //记录最长回文串
let tempPalindrome=""; //记录当前回文串
for(let i=0;i<str.length;i++){ //i记录当前遍历字符串的开始位置,循环依次向后遍历
tempPalindrome=""; //每次新的一轮开始时,将临时记录回文串的变量清空
for(let j=i;j<str.length;j++){ //每次开始循环是以当前i所在的下标位置为开始遍历字符串的起始位置,直到遍历到结束位置
tempPalindrome+=str.charAt(j); //逐个增加字符串的长度
if(isPalindrome(tempPalindrome) && tempPalindrome.length>palindromeStr.length){ //将当前的字符串传入isPalindrome进行回文判断,如果是回文串,则判断当前回文串长度是否大于之前记录的最长回文串的长度,如果大于之前的回文串,则更新之前的记录即可
palindromeStr=tempPalindrome; //更新回文串
}
}
}
return palindromeStr; //返回最终的最长的回文串
}
function isPalindrome(s){ //判断是否为回文串
let rev=s.split('').reverse().join(''); //字符串逆转操作
return rev===s;
}
//测试
console.log(longestPalindrome("ddabbade"));//输出dabbad
</script>
</body>
</html>
感谢阅读,希望上述内容能对你的学习有所帮助,欢迎继续支持本站获取更多技术分享。
作者最新文章
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
