TopcoderArchive
SRM1 Dec 2008
SRM 428

ThePalindrome

Problem statement, definition, constraints, and public examples.

Problem Statement

John and Brus are studying string theory at the university. Brus likes palindromes very much. A palindrome is a word that reads the same forward and backward. John would like to surprise Brus by taking a String s, and appending 0 or more characters to the end of s to obtain a palindrome. He wants that palindrome to be as short as possible. Return the shortest possible length of a palindrome that John can generate.

Definition

Class:
ThePalindrome
Method:
find
Parameters:
String
Returns:
int
Method signature:
int find(String s)
(be sure your method is public)

Constraints

  • s will contain between 1 and 50 characters, inclusive.
  • Each character of s will be a lowercase letter ('a' - 'z').

Examples

  1. "abab"
    Returns: 5
    "ababa" is the shortest palindrome that John can get.
  2. "abacaba"
    Returns: 7
    Already a palindrome.
  3. "qwerty"
    Returns: 11
    All characters are different.
  4. "abdfhdyrbdbsdfghjkllkjhgfds"
    Returns: 38
Back to all problems