括号生成

目录

题号

思路

    如果已知n-1的有效括号数量,则第n个有效括号可以选择n-1的某个括号序列中的位置进行插入从而生成新的括号序列,如

    n=1时,只有一个序列['()']

    n=2时,拿到序列(),分别在其左、中、右的位置插入新的有效序列,为()()、(())、()(),此时发现重复,这可以使用Set结构来天然去重,得到的结果为['()()','(())']

    n=3时,拿到序列()(),分别在*(*)*(*)*星号标记的位置插入新的有效序列,为()()()、(())()、()()()、()(())、()()(),去除重复结果为['()()()','(())()','()(())']

实现

你可能感兴趣的:(括号生成)