30
伸缩括号
考虑正确平衡的括号的非空字符串: (()(()())()((())))(()) 我们可以想象每对括号代表一个折叠的伸缩式结构中的圆环。因此,让我们扩展望远镜: ( )( ) ()( )()( ) () ()() ( ) () 另一种看待它的方法是将深度为n的括号移到第n行,同时保持其水平位置。 您的任务是采用这样的平衡括号字符串,并生成扩展版本。 您可以编写程序或函数,通过STDIN(或最接近的等效项),命令行参数或函数参数获取输入,并通过STDOUT(或最接近的等效项),返回值或函数(out)参数生成输出。 您可以假定输入字符串有效,即仅包含正确平衡的括号。 您可以在每行上打印尾随空格,但不要在多余的空格前打印多余的空格。总的来说,这些行的长度不能超过输入字符串长度的两倍。您可以选择打印单个尾随换行符。 例子 除了上面的示例,这里还有更多的测试用例(输入和输出用空行分隔)。 () () (((()))) ( ) ( ) ( ) () ()(())((()))(())() ()( )( )( )() () ( ) () () ((()())()(()(())())) ( ) ( )()( ) ()() ()( )() …