/**
* @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.分割回文串
最新推荐文章于 2024-07-26 01:21:03 发布