You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
429 B
28 lines
429 B
2 years ago
|
package breakpalindrome
|
||
|
|
||
|
func breakPalindrome(palindrome string) string {
|
||
|
if len(palindrome) <= 1 {
|
||
|
return ""
|
||
|
}
|
||
|
result := []rune(palindrome)
|
||
|
|
||
|
for i, r := range result {
|
||
|
if r != 'a' {
|
||
|
result[i] = 'a'
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
|
||
|
for _, r := range result {
|
||
|
if r != 'a' {
|
||
|
return string(result)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return palindrome[:len(palindrome)-1] + "b"
|
||
|
}
|
||
|
|
||
|
func Break(palindrome string) string {
|
||
|
return breakPalindrome(palindrome)
|
||
|
}
|