题目描述
回文串的定义:正读和反读都一样的字符串。
现在已经存在一个不包含回文串的字符串,字符串的字符都是在英语字母的前N个,且字符串不包含任何长度大于等于2的回文串;
请找出下一个字典序的不包含回文串的、字符都是在英语字母的前N个、且长度相同的字符串。
如果不存在,请输出NO。
输入描述
输入包括两行。
第一行有一个整数:N(1<=N<=26),表示字符串的每个字符范围都是前N的英语字母。
第二行输入一个字符串S(输入长度<=10000),输入保证这个字符串是合法的并且没有包含回文串。
输出描述
输出下一个字典序的不包含回文串的、字符都是在英语字母的前N个、且长度相同的字符串;
如果不存在,请输出”NO“。
用例
输入 3
cba
输出 NO
说明 无
解题思路:
- 首先,我们需要找到输入字符串S的下一个字典序字符串。
- 然后,我们需要检查新生成的字符串是否包含回文串。如果包含,我们需要继续寻找下一个字典序字符串,直到找到一个不包含回文串的字符串。
- 如果找不到这样的字符串,输出"NO"。
Java代码:
import</