Palindromes


Problem: this year on October 2, 2001, the date in MMDDYYYY format will be a palindrome (same forwards as backwards).
10/02/2001
when was the last date that this occurred on? (see if you can do it in your head!)

Solution:we know the year has to be less than 2001 since we already have the palindrome for 10/02. it can’t be any year in 1900 because that would result in a day of 91. same for 1800 down to 1400. it could be a year in 1300 because that would be the 31st day. so whats the latest year in 1300 that would make a month? at first i thought it would be 1321, since that would give us the 12th month, but we have to remember that we want the maximum YEAR in the 1300 century with a valid month, which would actually be 1390, since 09/31 is a valid date.

but of course, a question like this wouldn’t be complete without anaha factor. and of course, there are not 31 days in september, only 30. so we have to go back to august 08 which means the correct date would be 08/31/1380.

palindromes also offer another great string question.
write a function that tests for palindromes
bool isPalindrome( char* pStr )

if you start a pointer at the beginning and the end of the string and keep comparing characters while moving the pointers closer together, you can test if the string is the same forwards and backwards. notice that the pointers only have to travel to the middle, not all the way to the other end (to reduce redundancy).

bool isPalindrome( char* pStr )
{
  if ( pStr == NULL )
   return false;
 
  char* pEnd = pStr;
  while ( *pEnd != '' )
    pEnd++;
 
  pEnd--;
 
  while(pEnd > pStr)
  {
    if ( *pEnd != *pStr )
      return false;
 
    pEnd--;
    pStr++;
  }
 
  return true;
}
Explore posts in the same categories: INTERVIEW TIPS

Tags: , , , , , , , ,

You can comment below, or link to this permanent URL from your own site.

One Comment on “Palindromes”


  1. I would like to thnkx for your efforts you might have set in creating this weblog. I’m hoping the same high-grade web site publish from you in the upcoming as well. In fact your creative creating abilities has inspired me to obtain my own weblog now. Genuinely the running a blog is spreading its wings quickly. Your write up is really a very good example of it.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: