博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 22. 括号生成 dfs+回溯
阅读量:3904 次
发布时间:2019-05-23

本文共 608 字,大约阅读时间需要 2 分钟。

给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。

例如,给出 n = 3,生成结果为:

[  "((()))",  "(()())",  "(())()",  "()(())",  "()()()"]

此题要注意添加)的数目比(的数目小且还有剩余使才能添加。。。

当全部添加完毕时,return。

代码如下:

 

class Solution {public:    vector
generateParenthesis(int n) { vector
ve; if(n==0) return ve; dfs ("",n,n,ve); return ve; } void dfs (string s,int x,int y,vector
&ve) { if(x==0&&y==0) { ve.push_back(s); return; } if(x) dfs (s+'(',x-1,y,ve); if(y&&y>x) dfs (s+')',x,y-1,ve); }};

 

 

转载地址:http://mvaen.baihongyu.com/

你可能感兴趣的文章
linux网络内核结构
查看>>
linux路由内核实现分析(三)---路由查找过程
查看>>
linux路由内核实现分析(四)---路由缓存机制
查看>>
并查集学习
查看>>
Linux内核中内存分配函数
查看>>
Linux守护进程的编程方法
查看>>
如何在LINUX中获取进程中某个虚拟地址所在物理内存地址
查看>>
inux内存管理之非连续物理地址分配(vmalloc)
查看>>
IP有效载荷压缩协议(IPComp)
查看>>
突破人生的瓶颈(心灵之灯)
查看>>
linux开机启动过程
查看>>
qt creator 文件移植到开发板上运行 的全过程
查看>>
linux中安装Qt 4.8.5
查看>>
linux中ls命令详解
查看>>
USB通信记事
查看>>
Android 编译(1)——Android编译步骤梳理
查看>>
编译器配置(1)——ARMv7,ARMv8(AArch64) 浮点配置等相关知识
查看>>
RK3399 OV13850摄像头配置
查看>>
Android 编译(2)——jack-server相关问题
查看>>
网络服务(2)——以太网配置IPV4和IPV6
查看>>