给出一个正整数n,请给出所有的包含n个'('和n个')'的字符串,使得'('和')'可以完全匹配。
例如:
'(())()','()()()' 都是合法的;
'())()('是不合法的。
请按照__字典序__给出所有合法的字符串。
class MainActivity:
def main(self):
# Read the data
n = int(input())
# Initialization
results = set()
self.__generate('', n, n, results)
# Print the result
results = sorted(list(results))
print(','.join(results))
def __generate(self, prefix, left, right, results):
if not right:
if not left:
results.add(prefix)
return
if left:
self.__generate(prefix + '(', left - 1, right, results)
if right > left:
self.__generate(prefix + ')', left, right - 1, results)
if __name__ == '__main__':
M = MainActivity()
M.main()