知识点:贪心,模拟
这个题以前写过,我写的很麻烦,所以这个次看这个题之前对它充满了恐惧,但是这次不一样了,看完题想了想,不需要什么分类讨论,直接暴力枚举就行了,一看,每个字符串的长度不超过30,那么时间肯定够,直接暴力就可以了,
题目的意思是给两个字符串,求一个长度最短的,满足大于等于小的,小于大的的字符串,如果有多个长度相等的字符串满足,那么取字典序最小的,暴力的思路就很明显了,我们从小的那个字符串开始,每次都让他最后的字母字典序变大1,循环的条件是我们构造的这个字符串小于那个大的字符串,循环中间需要统计答案,然后就是如果字符串的尾部是Z怎么办,我们这是需要一个循环,把尾部连续的Z都去掉,然后让尾部第一个不是Z的加一就行了,我们这样的思路肯定是对的,有的人说后面加字母也能增加字典序,为啥不采用增加字符的而只是减少的,因为题目就是要我们求满足条件的最短的字符串,它的长度肯定小于等于那个小的字符串
写到这里,我觉得我的代码肯定没问题,就提交了,但是中间出错了,后来借助网上的样例算是知道了哪里错了,就是我们去掉构造字符串末尾连续的Z的那个步骤,那个步骤之前需要判断一下整个字符串是不是都是Z,如果都是Z还执行后面的操作很显然就会出错,如果都是Z,那么说明当前的长度已经达到最大的字典序了,答案不可能是比当前长度更长的字符串了,这时退出循环就可以了,这样这个题就完成了,
虽然没有一次性写对,但是觉得我的思路还是不错的,只是细节还是没有做全面&#