>题目
给出一个定长的字符串,进行压缩或解压。压缩,给定一个最小需压缩长度。如当最小需压缩长度为3时,aaaabbc被压缩成a4bbc。还原时,同样以以上规则进行还原,如a5b3aba13b4被还原为aaaaabbbabaaaaaaaaaaaaabbbb。
题目OJ数据保证只有'英文字母'会被压缩,'数字字符'作为压缩次数的数目。
>解题思路
这个题目是一个非常明显的栈训练题。每次从输入字符串str中读取一位,若栈为空,则直接入栈;若不为空,则对栈中的数据做处理。
没什么难度,用来入门程设训练中栈的思想其实还是不错的。
>代码
1 压缩
#include <iostream>
#define limit 3 // 最小需压缩长度
#define strMaxLen 100 //最大待压缩字符串长度
using namespace std;
void print(int times, char c){
if(times<limit){
for(int i=0;i<times;i++){
cout<