假设我们有一个可以解释给定字符串命令的目标解析器。命令包括
字母“G”,
左括号和右括号“()”
和/或“(al)”以某种顺序。
我们的目标解析器会将“G”解释为字符串“G”,将“()”解释为“o”,将“(al)”解释为字符串“al”。最后解释的字符串然后按原始顺序连接。所以如果我们有字符串命令,我们必须找到目标解析器对命令的解释。
因此,如果输入类似于 command = " G()()()(al)(al)",那么输出将是 Goooalal。
让我们看看以下实现以获得更好的理解 -
def solve(command): s="" for i in range(len(command)): if command[i]!="(" and command[i]!=")": s+=command[i] if command[i]=="(" and command[i+1]==")" and i+1<len(command): s+='o' if command[i]=="(": continue if command[i]==")": continue return s command = "G()()()(al)(al)" print(solve(command))
"G()()()(al)(al)"输出结果
Goooalal