LeetCode131分割回文串
2026/4/14 14:37:10 网站建设 项目流程
class Solution { public: vector<string> path; //枚举第一个逗号的位置,枚举第二个逗号的位置,…… bool hstr(string& st) { int sz=st.size(); int i=0,j=sz-1; while(i<=j){ if(st[i]!=st[j]) return false; i++; j--; } return true; } void backtrack(vector<vector<string>>& res,string& s,int f,int sz){ if(f==sz){ res.push_back(path); return; } for(int i=f;i<sz;++i){ string tmp=s.substr(f, i-f+1); if(hstr(tmp)){ path.push_back(tmp); backtrack(res,s,i+1,sz); path.pop_back(); } } } vector<vector<string>> partition(string s) { vector<vector<string>> res; int sz=s.size(); backtrack(res,s,0,sz); return res; } };
变量含义示例
f(first)本次分割的起始位置从第f个字符开始找回文
i本次分割的结束位置当前回文子串到i结束

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询