FastPrepFastPrep
Problem Brief

Break a Palindrome

OA

A palindrome reads the same forwards and backwards, like "mom". Modify a palindrome by changing exactly one character to another character within the ASCII range [a-z]. The goal is to ensure the new string fulfills the following criteria:

  • It is not a palindrome.
  • It is alphabetically lower than the original palindrome.
  • It is the smallest possible string alphabetically that can be obtained by changing just one character.
  • Return the new string, or "IMPOSSIBLE" if it is not feasible to create such a string.

    Function Description

    Complete the function breakPalindrome in the editor with the following parameter(s):

    • string palindromeStr: the input string

    Returns

    string: the resulting string, or IMPOSSIBLE if one cannot be formed

    1Example 1

    Input
    palindromeStr = "aaabbaaa"
    Output
    "aaaabaaa"
    Explanation

    Possible strings lower alphabetically than 'aaabbaaa' after one change are ['aaaabaaa', 'aaabaaaa']

    'aaaabaaa' is not a palindrome and is the lowest string that can be created from palindromeStr.

    Constraints

    Limits and guarantees your solution can rely on.

    • 1 ≤ length of palindromeStr ≤ 1000
    • palindromeStr is a palindrome
    • palindromeStr contains only lowercase English letters
    public String breakPalindrome(String palindromeStr) {
      // write your code here
    }
    
    Input

    palindromeStr

    "aaabbaaa"

    Output

    "aaaabaaa"

    Sign in to submit your solution.