欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

[LeetCode]Palindrome Partitioning 找出所有可能的组合回文

发布时间:2025/4/14 编程问答 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [LeetCode]Palindrome Partitioning 找出所有可能的组合回文 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

给定一个字符串,切割字符串,这样每个子字符串是一个回文字符串。

要找出所有可能的组合。

办法:暴力搜索+回溯

class Solution { public:int *b,n;vector<vector<string> >ans;void dfs(int id,string &s,int len){if(id>=n){if(len>0){vector<string>vt;vt.push_back(s.substr(0,b[0]+1));for(int i=1;i<len;++i){vt.push_back(s.substr(b[i-1]+1,b[i]-b[i-1]));}ans.push_back(vt);}return;}int j,k;b[len]=id;dfs(id+1,s,len+1);for(j=id+1;j<n;++j){for(k=0;id+k<j-k&&s[id+k]==s[j-k];++k);if(id+k>=j-k){b[len]=j;dfs(j+1,s,len+1);}}}vector<vector<string> > partition(string s) {n=s.size();if(n==0)return ans;if(n==1){vector<string>vt;vt.push_back(s);ans.push_back(vt);return ans;}b=new int[n];dfs(0,s,0);return ans;} };

版权声明:本文博主原创文章,博客,未经同意不得转载。

转载于:https://www.cnblogs.com/mfrbuaa/p/4886250.html

总结

以上是生活随笔为你收集整理的[LeetCode]Palindrome Partitioning 找出所有可能的组合回文的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。