dfs
深度优先遍历(dfs)
回溯
本题要求生成给定数量的”()”,问有多少种生成方案。比如:要求生成3对括号,那么生成结果可以是”()()()”、”((()))”、”(()())”。
解决本题的关键在于需要保证在生成”)”时,在此之前至少有一个未被配对的”(“。因此我dfs的主要参数有已使用的”(“数量,未被配对的”(“数量。接下来在生成”(“时只需保证”(“的数量还未使用完;生成”)”时只需保证在此之前至少有一个未被配对的”(“。
实现代码:
1 | class Solution { |
本题要求对给定字符串进行分割,使得每个子串都是回文串。
解决方法就是直接枚举每个子串是否是回文串。模拟样例:s=”aab”.
1 | i = 0,j = i = 0,子串为"a"是回文串加入path中,path={"a"} |
实现代码:
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 dch'blog!