思想:每一个合法组合的首末位是确定的,即所有的组合都为(####)。其中,根据排列组合的知识可以知道,我们还有2n-2个位置需要确定。其中,只需要确定左括号(的位置就可以了。 代码解释:这里的基本思想是一个一个加,先从一个左括号(开始,一个循环之后变成[((,()],然后变成[(((,((),()(,())]。但是为了括号序列的合理性,需要排除右括号比左括号多的情况,所以需要记录左括号的个数k。当左括号的个数等于所需括号的个数时,将该序列的右括号个数补齐,填入输出序列result中。 变量解释:lstmp为一个暂时变量,为了更新每次ls的值。 class Solution: def g...