标签:mod 分析 tor class oda 十分 mic als 规划
给定一个字符串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<j){ if(s[i++]!=s[j--]) return false; } return true; } void dfs(vector<vector<string>> &ans,vector<string> &vec,string &s,int pos){ if(pos==s.length()){ ans.push_back(vec); } for(int i=pos;i<s.length();i++){ string str=s.substr(pos,i-pos+1); if(isPalindromic(str)){ vec.push_back(str); dfs(ans,vec,s,i+1); vec.pop_back(); } } } vector<vector<string>> partition(string &s) { vector<vector<string> > ans; vector<string> vec; dfs(ans,vec,s,0); return ans; } };
标签:mod 分析 tor class oda 十分 mic als 规划
原文地址:https://www.cnblogs.com/J1ac/p/9395402.html