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; }
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); }
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(); }