(回溯递归)分割回文串

图片说明

/**
  * 
  * @param s string字符串 
  * @return string字符串二维数组
  */
function partition( s ) {
    // write code here
    var result = [];
    var path = [];
    dfs(s,result,path);
    return result;
}
function dfs(s,result,path){
    if(s.length<1){
        result.push([...path]);
        return
    }
    for(var i=0;i<s.length;i++){
        var begin = 0;
        var end = i;
        while(begin<end){
            if(s[begin] == s[end]){
                begin++
                end--
            }else break;
        }
        if(begin>=end){
            path.push(s.substring(0,i+1));
            dfs(s.substring(i+1),result,path);
            path.pop();
        }
    }
}
module.exports = {
    partition : partition
};
其他算法 文章被收录于专栏

其他算法

全部评论

相关推荐

king327:要从现有项目中挖掘1-2个你解决过的具体技术难题 详细描述你的解决方案、技术选型理由和最终效果 这比罗列更多基础功能更有说服力
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务