Mid/SeniorGreedyString

Break a Palindrome

Given a palindromic string of lowercase English letters palindrome, replace exactly one character with any lowercase English letter so that the resulting string is not a palindrome and is the lexicographically smallest one possible.

Return the resulting string. If there is no way to replace a character to make it not a palindrome, return an empty string.

A string a is lexicographically smaller than a string b of the same length if, in the first position where a and b differ, a has a character strictly smaller than the corresponding character in b.

Example 1
Inputpalindrome = "abccba"
Output"aaccba"
Of all the ways to make "abccba" not a palindrome, "aaccba" is the lexicographically smallest.
Example 2
Inputpalindrome = "a"
Output""
There is no way to replace a single character to make "a" not a palindrome, so return an empty string.

Constraints

  • 1 <= palindrome.length <= 1000
  • palindrome consists of only lowercase English letters.

Asked at 6 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate