输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出。如果有相同长度的交替方波信号,输出任一即可。
用一个栈存字符,如果当前字符是0,栈顶是0那么可能是一个新的交替字符,取出来验证即可。如果当前字符是0,栈顶是1,直接入栈,如果当前字符是1,直接入栈。
输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出,如果有相同长度的交替方波信号,输出任一即可,方波信号高位用1标识,低位用0标识,如图:
说明:
输入信号字符串(长度 >= 3 且 <= 1024)
注:输入总是合法的,不用考虑异常情况
输出最长的完全连续交替方波信号串
若不存在完全连续交替方波信号串,输出 -1。
输入
00101010101100001010010
输出
01010
说明
输入信号串中有三个信号:
0 010101010110(第一个信号段)00
01010(第二个信号段)
010(第三个信号段)
第一个信号虽然有交替的方波信号段,但出现了11部分的连续高位,不算完全连续交替方波,
在剩下的连续方波信号串中01010最长