Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save graphoarty/95b40134ff67d786657d32aa158ff980 to your computer and use it in GitHub Desktop.
Save graphoarty/95b40134ff67d786657d32aa158ff980 to your computer and use it in GitHub Desktop.
#include <iostream>
#include <cstring>
using namespace std;
// brute force the entire thing.
char* getSubstring(char c[], int starting, int ending){
int length = ending - starting + 1;
int temp = length;
if(length > strlen(c)){
return "null";
}
char* str = new char[length + 1];
char *p1 = str;
char *p2 = &c[starting];
while(temp--){
*(p1++) = *(p2++);
}
*p1 = '\0';
return str;
}
char* getReverseString(char c[]){
int length = strlen(c);
int temp = length;
char* str = new char[length];
char* p1 = str;
char* p2 = &c[strlen(c) - 1];
while(temp--){
*(p1++) = *(p2--);
}
*p1 = '\0';
return str;
}
int main(){
char* str = "jklollolkidding";
cout << getSubstring(str, 2, 6) << endl;
char* palindromeString = new char[strlen(str)];
int palindromeLength = 0;
for(int i = 0; i < strlen(str); i++){
for(int j = 0; j < strlen(str); j++){
char* subStr = getSubstring(str, i, j);
if(strcmp(subStr, "null")){
char* revSubStr = getReverseString(subStr);
if(!strcmp(subStr, revSubStr)){
if(strlen(subStr) > palindromeLength){
palindromeString = subStr;
palindromeLength = strlen(subStr);
}
}
}
}
}
cout << palindromeString << endl;
return 0; }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment