给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。
返回 s 所有可能的分割方案。
示例:
输入: "aab"
输出:
[
["aa","b"],
["a","a","b"]
]
这个题还是用DFS的方法来做,基本思路就是寻找子串的思路,只需要加一个函数来判断是否是回文串即可。
C++源代码:
class Solution {
public:
vector<vector<string>> partition(string s) {
vector<vector<string>> res;
vector<string> out;
DFS(s, 0, out, res);
return res;
}
void DFS(string s, int start, vector<string>& out, vector<vector<string>>& res){
if