字符串变换问题
字符串变换问题
«问题描述:
给定2 个字符串A 和B,字符串变换问题要求通过栈运算将字符串A 变换为字符串B。
例如,当A=”TROT”,B=”TORT”时,可以通过对字符串A 的字符进行如下栈运算变换为
字符串B:PUSH,PUSH,PUSH,PUSH,POP,POP,POP,POP。如果用1 表示栈运算PUSH,用
0 表示栈运算POP,则上述栈运算序列可表示为:11110000。类似的,栈运算序列10110010
也可将字符串A 变换为字符串B。
«实验任务:
对于给定的2 个字符串A 和B,计算将字符串A变换为字符串B的所有栈运算序列。
«数据输入:
由文件input.txt给出输入数据。文件共2 行,每行给出1 个字符串。
«结果输出:
将计算出的可将字符串A变换为字符串B的所有栈运算序列输出到文件output.txt。每
行输出1 个栈运算序列。如果不存在可将字符串A 变换为字符串B 的栈运算序列,则不输
出。
输入文件示例
input.txt
madam
adamm
输出文件示例
output.txt
1111000100
1111000010
1101010100
1101010010
我感觉题目是不是缺少限制阿?
比如
abc---> abc
111000111000
111000111000 111000111000
111000111000 111000111000 111000111000
.
.
.
都行啊
[解决办法]
栈运算序列的长度 跟 两字符串的长度的和 是一样的,
PUSH 是将源的单个字符压入
pop 是生成目的串
[解决办法]
楼主有没有仔细思考过
每个字符一次push,一次pop,长度当然是原字符串的两倍