LeetCode 1328. 破坏回文串 C#
原题链接
中等
作者:
hpstory
,
2022-08-15 22:55:02
,
所有人可见
,
阅读 115
C# 代码
public class Solution {
public string BreakPalindrome(string palindrome) {
int n = palindrome.Length;
// 单字符和空字符串无法破坏,返回空字符串
if (n <= 1) return string.Empty;
char[] ch = palindrome.ToCharArray();
for (int i = 0; i < n; i++){
// 奇数长度字符串中间位置字符不能修改,否则还是回文
if (n % 2 == 1 && i == n / 2) continue;
// 如果不是a改成a即可
if (palindrome[i] != 'a') {
ch[i] = 'a';
return new string(ch);
}
}
// 如果没有能改的,把最后一个字符改成b即可
ch[n - 1] = 'b';
return new string(ch);
}
}