leetcode 22. 括号生成
难度:中等
频次:62
题目:
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
解题思路:DFS
DFS注意
- 构造一棵树,只要遍历就行了
- 递归结束条件是 left right(每次遍历一个节点就为0) 的值为0
- 需要剪枝,条件是需要left>right[因为这道题的前提就是,一个字符串里”(“必须要比“)”多,才有机会合成,不然你剩下一堆的”("没地方用]
- 每次遍历都需要判断条件,只有left和right>0才有必要进行相应的遍历
代码
class Solution {public List<String> generateParenthesis(int n) {List<String> res=new ArrayList<String>();dfs("",n,n,res);return res;}public void dfs(String s,int left,int right,List<String> res){if(left==0&&right==0) {res.add(s);return;}if(left>right){return;}//left、right必须>0,不然会走一些乱七八糟的遍历if(left>0){dfs(s+"(",left-1,right,res);}if(right>0){dfs(s+")",left,right-1,res);}}
}
leetcode 22. 括号生成相关推荐
- [DFS|剪枝] leetcode 22 括号生成
[DFS|剪枝] leetcode 22 括号生成 1.题目 题目链接 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合. 示例: 输入:n = 3 输出:[& ...
- Leetcode 22. 括号生成(递归+去重)
22. 括号生成 思路: 递归+map去重: 递归函数声明: vector<string> generateParenthesis(int n); 递归出口: 当n=1时,返回{" ...
- LeetCode 22. 括号生成(回溯/DP)
文章目录 1. 题目 2. 解题 2.1 暴力回溯 2.2 DP 1. 题目 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结 ...
- leetcode - 22. 括号生成
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结果为: [ "((()))", "(()())& ...
- Leetcode 22.括号生成 (每日一题 20210623)
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合.示例 1:输入:n = 3 输出:["((()))","(()())&quo ...
- LeetCode 22. 括号生成(Generate Parentheses)
题目描述 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n =3,生成结果为: ["((()))","(()() ...
- LeetCode 22. 括号生成(回溯+剪枝)
题目描述 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 思路 详见链接 代码 from typing import List class Solution ...
- leetcode 22.括号生成
题目 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结果为: [ "((()))", "(()( ...
- LeetCode 22 括号生成
https://leetcode-cn.com/problems/generate-parentheses/ 解决方案 class Solution {List<String> ans = ...
最新文章
- 基于机器视觉的缺陷检测汽车零部件
- 45 MySQL自增id
- 剑指Offer - 面试题7. 重建二叉树(递归)
- ActiveX: 如何用.inf和.ocx文件生成cab文件
- 火星人(洛谷P1088题题解,C++语言描述)
- php var export 数组,PHP关于数组缓存JSON、serialize、var_export的说明
- 蓝桥杯 ALGO-23 算法训练 一元三次方程求解
- orac l e数据库第一章
- 重新安装NVIDIA显卡驱动
- Mac唤醒后无声的一种解决方法
- Building Autoencoders in Keras
- 计算机网络属于什么结构,计算机网络体系结构是一种什么结构
- 第7周 项目6—停车场模拟
- 追梦App系列博客——后端架构篇
- 小米机型安全删除内置软件列表 miui12 miui13 可删除内置
- 基于photoshop滤色混合模式的图片亮度改变
- php 获取header头信息并显示网址,php 获取远程网址header头信息的方法
- 彻底卸载并重装Anaconda环境与Python的方法
- 图像视频压缩编码概述
- 19-你知道哪几种锁?分别有什么特点?
热门文章
- 数组去重是面试中经常问到的问题
- Python装饰器 计时器记录方法执行性能
- c# timer使用
- oracle易忘函数用法(3)
- 浅谈Sharepoint权限
- 2_flutter_TextField(文本框),TabBar(选项卡),bottomNavigationBar(底部导航栏)
- 读书笔记:《图解HTTP》第一章 网络基础
- Python网络协议模块学习之smtplib
- Java同步工具类——信号量
- 在Autodesk应用程序商店发布基于浏览器的Web应用程序