给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。
返回s所有可能的回文串分割方案。
样例
给出 s = "aab"
,返回
[
[“aa”, “b”], [“a”, “a”, “b”] ]分析:采用深度优先搜索即可,这种回文串的题目一上来我想到的居然是用线性规划。。。绕了好大的坑,使用深度优先搜索十分方便。
代码:
class Solution {public: /* * @param s: A string * @return: A list of lists of string */ bool isPalindromic(string &s){ int i=0,j=s.length()-1; while(i> &ans,vector &vec,string &s,int pos){ if(pos==s.length()){ ans.push_back(vec); } for(int i=pos;i > partition(string &s) { vector > ans; vector vec; dfs(ans,vec,s,0); return ans; }};