赞
踩
获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。
例如:字符串“aaabbccccd”经过压缩成为字符串“3abb4cd”。
请您编写解压函数,根据输入的字符串,判断其是否为合法压缩过的字符串。
若输入合法则输出解压缩后的字符串,否则输出字符串“!error”来报告错误。
输入描述
输入一行,为一个ASCII字符串,长度不会超过100字符,用例保证输出的字符串长度也不会超过100字符。
输出描述
若判断输入为合法的经过压缩后的字符串,则输出压缩前的字符串
若输入不合法,则输出字符串“!error”。
题目解析
题目要求编写一个解压函数,该函数需要判断输入的字符串是否为合法压缩字符串(即符合压缩规则的字符串),并返回解压缩后的字符串或错误消息。
压缩规则是:将连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。例如,“aaabbccccd” 压缩为 “3abb4cd”。
解压缩时,我们需要遍历压缩后的字符串,并检查每个字符。如果字符是数字,则需要读取后续数字以确定重复字母的数量,然后输出相应数量的字母;如果字符是字母,则直接输出该字母。
Java算法源码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。