m4s-converter深度解析:高效实现B站缓存视频永久保存的跨平台解决方案
2026/4/14 17:01:29
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结束 |