Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- vector<vector<string>> partition(string s) {
- vector<vector<string>> ans;
- vector<string> curr;
- generate(0, s, curr, ans);
- return ans;
- }
- void generate(int idx, string& s, vector<string>& curr, vector<vector<string>>& res){
- if(idx >= s.size()) res.emplace_back(curr);
- for(int to = idx; to < s.size(); to++){
- bool valid = true;
- string tmp;
- for(int i = idx, j = to; i <= to; i++, j--){
- if(s[i] != s[j]) valid = false;
- tmp += s[i];
- }
- if(valid){
- curr.emplace_back(tmp);
- generate(to + 1, s, curr, res);
- curr.pop_back();
- }
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement