获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
回文串的定义:正读和反读都一样的字符串。
现在已经存在一个不包含回文串的字符串,字符串的字符都是在英语字母的前N个,且字符串不包含任何长度大于等于2的回文串;
请找出下一个字典序的不包含回文串的、字符都是在英语字母的前N个、且长度相同的字符串。
如果不存在,请输出NO。
输入描述
输入包括两行。
第一行有一个整数:N(1<=N<=26),表示字符串的每个字符范围都是前N的英语字母。
第二行输入一个字符串S(输入长度<=10000),输入保证这个字符串是合法的并且没有包含回文串。
输出描述
输出下一个字典序的不包含回文串的、字符都是在英语字母的前N个、且长度相同的字符串;
如果不存在,请输出”NO“。
题目解析
这道题目要求我们找到一个字符串,这个字符串必须满足以下条件:
-
字符串的长度与输入字符串S相同。
-
字符串的字符必须在英语字母的前N个之内。
-
字符串不包含任何长度大于等于2的回文串。
-
字符串的字典序必须大于输入字符串S。
解题思路如下:
- 确定字符范围:根据输入N,确定字符串可以使用的字符集合为’a’到’a’ + N - 1(在
还没有评论,来说两句吧...