vector<vector<string>> partition(string s) {
     vector<vector<string> > result;
     vector<string> temp;
     if (s.empty()) return result;
     findPalindrome(s,temp,result);
     return result;
 }
 vector<vector<string>> partition(string s) {
     vector<vector<string>> res;
     if(s.size() == 0) return res;
     vector<string> cut;
     findPalindrome(s, 0, cut, res);
     return res;
 }
Example #3
0
main(){
	char xx[] = "DOD stands for hello. this isn't for fun";
	//printf("Original array: %s\n", xx);
	removeSpaces(xx);
	removePunctuation(xx);
	findPalindrome(xx);
	//printf("Redone array: %s\n", xx);
}
Example #4
0
int main(int argc, char* argv[])
{
	printf("Locating Largest Palindrome in two 3-digit numbers\n");
	printf("Using the bruteforce method\n");
	int largestPalindrome = findPalindrome(3);
	printf("The largest palindrome in 3 digits is %d\n", largestPalindrome);
	return 0;
}
 void findPalindrome(string s, vector<string>& temp, vector<vector<string> >& result) {
     if (s.empty()) {result.push_back(temp);return;}
     for (int i=1;i<=s.size();i++) {
         string front(s.substr(0,i)), back(s.substr(i));
         if (isPalindrome(front)) {
             temp.push_back(front);
             findPalindrome(back, temp,result);
             temp.pop_back();
         }
         }
 }
 void findPalindrome(string s, int pos, vector<string> cut, vector<vector<string>> &res){
     if(pos == s.size()){
         res.push_back(cut);
         return;
     }
     for(int i = pos; i < s.size(); i++){
         string currentCut = s.substr(pos, i - pos + 1);
         if(isPalindrome(currentCut)){
             cut.push_back(currentCut);
             findPalindrome(s, i + 1, cut, res);
             cut.pop_back();
         }
     }
 }
int main(int argc, char* argv[])
{
	findPalindrome();
}