题目
给定一个n,要求输出所有的n对括号的组合。
如n=2
(()),()(),
思路
合法的括号,肯定是先(,后),所以就有一个搜索路径,搜索到底后,在回溯,继续搜索。
def match_kh(n,perfix,result):
left = n
right = n
rec_match(left,right,perfix,result)
print(result)
return result
def rec_match(left,right,perfix,result):
if left > 0 :
rec_match(left-1,right,perfix + '(',result)
if right>left:
rec_match(left,right-1,perfix+')',result)
if right == 0:
return result.append(perfix)
match_kh(4,'',[])