/**
* @param {string} s
* @return {string[][]}
*/
var partition = function(str) {
let res = [], path = []
backtrace(0)
return res
function backtrace(start){
if (start >= str.length) {
res.push(Array.from(path))
return
}
for (let i = start; i < str.length; ++i) {
if (!isPalindrome(str, start, i)) {
continue
}
path.push(str.slice(start, i + 1))
backtrace(i + 1)
path.pop()
}
}
};
function isPalindrome(str, left, right) {
while (left < right) {
if (str[left] !== str[right]) {
return false
}
++left
--right
}
return true
}
lc131.分割回文串
最新推荐文章于 2026-01-03 10:00:02 发布
本文介绍了一种通过回溯法实现的字符串分割算法,该算法可以找出字符串所有可能的分割方式,使得每个子串都是回文串。文章详细解释了回文检查函数及核心的回溯函数,并提供完整的JavaScript代码示例。
181

被折叠的 条评论
为什么被折叠?



