给出一个正整数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()