   # Convert the given string into palindrome with minimum number of appends ?

+8 votes
3,564 views

Convert the given string into palindrome with minimum number of appends(at end of the given string). O(n) algorithm will be appreciated ??

Input :=> Malayal
Output :=> Malayalam posted Dec 10, 2013
Share this question

## 1 Answer

0 votes

remove one char one by one and see if remaining string is palindrome or not.

``````int palindrome(char* string)
{
size_t len = strlen(string);

// handle empty string and string of length 1:
if (len == 0) return 0;
if (len == 1) return 1;

char *ptr1 = string;
char *ptr2 = string + len - 1;
while(ptr2 >= ptr1) {
if (!isalpha(*ptr2)) {
ptr2--;
continue;
}
if (!isalpha(*ptr1)) {
ptr1++;
continue;
}
if( tolower(*ptr1) != tolower(*ptr2)) {
return 0;
}
ptr1++; ptr2--;
}
return 1;
}

int findMinAppend(char str[])
{
if (palindrome(str))
return 0;
else
{
str++;
return 1 + findMinAppend(str);
}
}

int main()
{
char str[] = "malayal";
printf("%d", findMinAppend(str));
return 0;
}
`````` answer Dec 15, 2013
Similar Questions
+1 vote

Given a string and dictionary of words, form a word by removing minimum number of characters.
Characters can be removed in-order only.

+7 votes

Given two n-node trees, how many rotations does it take to convert one tree into the other?

+5 votes

Given 2 strings s1, s2 and s1 is equal to s2 if they are lexicographically sorted, Find minimum number of swaps required to transform s1 to s2?

Swap Definition:
Problem 1 : we can transform index i with i+1 where 0<=i< s1.length()-1
Problem 2 : we can transform index i with i+1 where 0<=i< s1.length()-1 and other operation we can swap first character of string with last

example: s1="abc", s2="cba"
In problem1 3 swaps required abc ---> bac ---> bca ---> cba
In problem2 1 swaps required abc ---> cba [swap first and last element]

+1 vote

For eg: z is changed to y & not y to z ....the value of alphabets are changed from right to left ( eg.in the word apple ,the value of 'e' is reduced to 'd' until it becomes a palindrome or when the value becomes 'a'.

+5 votes

Help me to write a C program which can generate list of numbers which are palindrome in decimal and octal notion. You can take some max as a limit find out all numbers which satisfy the given property between 1 to n.