对输入的一个由小写英文字母组成的字符串进行变换变换的规则是这样的:若连续出现相同的小写字母则将它们替换成这个字母的大写形式后面紧跟相同字母的个数并把它之前与之后的两段子字符串对调如出现 bmttttfu则新字符串变换为:fuT4bm然后重新扫描字串直到没有出现相同小写字母为止。输入仅一行包含一个字符串长度不超过 200。输出仅一行包含一个字符串为变换后的字符串。样例输入样例输入1:bmttttfu
分析:
这道题目需要分为两个部分来完成:第一部分是将连续出现的小写字母变为大写字母加上个数,第二部分是将两侧的子串对调。
对于第一部分,我们可以使用两个指针,一个指向当前连续的字母的左端点,一个指向右端点,当发现右端点不再是当前字母时,就将这一段变为大写字母加上长度的形式,再更新左端点和右端点。
对于第二部分,我们可以使用递归的方法,对于当前的字符串,先将其左半部分和右半部分递归调换顺序,然后再将整个字符串逆序,即可完成对调。
代码:
原文地址: http://www.cveoy.top/t/topic/c0B4 著作权归作者所有。请勿转载和采集!