大理网站推广,php可以做网站,网站制作企业首页,wordpress 导入模板2697. 字典序最小回文串
给你一个由 小写英文字母 组成的字符串 s #xff0c;你可以对其执行一些操作。在一步操作中#xff0c;你可以用其他小写英文字母 替换 s 中的一个字符。
请你执行 尽可能少的操作 #xff0c;使 s 变成一个 回文串 。如果执行 最少 操作次数的方…2697. 字典序最小回文串
给你一个由 小写英文字母 组成的字符串 s 你可以对其执行一些操作。在一步操作中你可以用其他小写英文字母 替换 s 中的一个字符。
请你执行 尽可能少的操作 使 s 变成一个 回文串 。如果执行 最少 操作次数的方案不止一种则只需选取 字典序最小 的方案。
对于两个长度相同的字符串 a 和 b 在 a 和 b 出现不同的第一个位置如果该位置上 a 中对应字母比 b 中对应字母在字母表中出现顺序更早则认为 a 的字典序比 b 的字典序要小。
返回最终的回文字符串。
示例 1 输入s “egcfe” 输出“efcfe” 解释将 “egcfe” 变成回文字符串的最小操作次数为 1 修改 1 次得到的字典序最小回文字符串是 “efcfe”只需将 ‘g’ 改为 ‘f’ 。 示例 2 输入s “abcd” 输出“abba” 解释将 “abcd” 变成回文字符串的最小操作次数为 2 修改 2 次得到的字典序最小回文字符串是 “abba” 。 示例 3 输入s “seven” 输出“neven” 解释将 “seven” 变成回文字符串的最小操作次数为 1 修改 1 次得到的字典序最小回文字符串是 “neven” 。 提示
1 s.length 1000s 仅由小写英文字母组成
找到字符串中对称的位置是关键通过判断左侧和右侧的字符大小来实现
class Solution {
public:string makeSmallestPalindrome(string s) {int ns.length();for(int i 0;i n /2 ;i){char left s[i],right s[n-1-i];if(leftright){s[i]right;}else {s[n-1-i]left;}}return s;
}
};