knakul853

Untitled

Jun 21st, 2020
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. /**
  2. knakul853
  3. **/
  4. class Solution {
  5. public:
  6.     vector<vector<string>> partition(string s) {
  7.        
  8.         vector<vector<string>>ans;
  9.         vector<string>temp;
  10.        
  11.         backtrack(s , ans , 0 , temp);
  12.        
  13.         return ans;
  14.     }
  15.    
  16.     void backtrack(string s , vector<vector<string>>&ans , int id , vector<string>temp)
  17.     {
  18.         if(id == s.size())
  19.         {
  20.             ans.push_back(temp);
  21.             return ;
  22.         }
  23.        
  24.         for(int i = id ; i<s.size();i++)
  25.         {
  26.             if(ok(s , id , i))
  27.             {
  28.                 temp.push_back(s.substr(id , i-id+1));
  29.                
  30.                 backtrack(s , ans , i+1 , temp);
  31.                
  32.                 temp.pop_back();
  33.             }
  34.         }
  35.     }
  36.    
  37.     bool ok(string s,int i,int j)
  38.     {
  39.         while(i<j)
  40.         {
  41.             if(s[i]!=s[j])return false;
  42.             i++;j--;
  43.         }
  44.         return true;
  45.     }
  46. };
Add Comment
Please, Sign In to add comment