seo网站优化排名,网站关键字排名优化,学校网站首页设计,建设博物馆网站题目#xff1a;
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();char[] arrs.toCharArray();for(int i0,jn-1;ji;i,j--){if(s.charAt(j)!s.charAt(i)){if(arr[j]arr[i]){arr[j]arr[i];}else{arr[i]arr[j];}}}return new String(arr);}
}
结果