括号生成(力扣题目22)

news/2024/5/20 20:04:42

题目描述:

        数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

        示例 1:

                输入:n = 3
                输出:["((()))","(()())","(())()","()(())","()()()"]
        示例 2:

                输入:n = 1
                输出:["()"]

        提示:

                1 <= n <= 8

思路描述:

        可以利用递归进行尝试搜索,符合条件就加上字符,不符合条件的就直接略去。

代码:

class Solution {public List<String> generateParenthesis(int n) {List<String> result=new LinkedList<>();createResult("",result,n,n);return result;}public void createResult(String curStr,List<String> result,int left,int right){if(right==0 && left==0){result.add(curStr);return ;}if(left>0){createResult(curStr+"(",result,left-1,right);}if(right>0 && right>left){createResult(curStr+")",result,left,right-1);}}
}

提交结果:


https://www.xjx100.cn/news/3293456.html

相关文章

安装ansys2024第一步安装ansys license manager遇到错误

这里写自定义目录标题 安装ansys2024时候遇到很多次错误&#xff0c;错误log如下 netstat -ano | findstr 1084 任务管理器里面禁用intel这个自动启动项目&#xff0c;关机重启即可

Python多层嵌套的dict递归解析

Python多层嵌套的dict递归解析 1.问题 遇到多层嵌套的dict &#xff0c;如何能解析为只有一维的dict &#xff0c;方便后续数据处理。 一个嵌套的dict &#xff1a; AutoOrderedDict([(total,AutoOrderedDict([(total, 9), (open, 1), (closed, 8)])),(streak,AutoOrderedDi…

单例模式:饿汉式、懒汉式;线程安全的单例模式创建的6种方式

单例模式 单例模式Singleton是一种创建型模式&#xff0c;指某个采用Singleton单例模式&#xff0c;则这个类在同一个 JVM上&#xff0c;只能产生一个实例供外部访问&#xff0c;并且仅提供一个全局的访问方式。 懒汉式 懒汉式线程不安全 public class Singleton1 {privat…

HTTP1.0,HTTP1.1,持久连接,非持久连接,TCP,UDP,三次握手和四次挥手,HTTP与HTTPS,对称加密和非对称加密,状态码

HTTP1.0和HTTP1.1的区别 HTTP1.0HTTP1.1连接方式非持久连接持久连接缓存 主要使用 header 里的 If-Modified-Since、Expires 来做为缓存判断的标准 引入了更多的缓存控制策略&#xff0c;例如 Etag、If-Unmodified-Since、If-Match、If-None-Match 等更多可供选择的缓存头来控…

为何要使用流媒体服务器

安防系统中&#xff0c;我们偶尔会遇到“流媒体服务器”这个词&#xff0c;那么为什么需要这个服务呢&#xff1f; 视频监控 我们知道&#xff0c;监控摄像机的工作原理就是将自然界的光影&#xff0c;通过摄像机镜头对焦到“靶芯”&#xff08;CMOS&#xff09;&#xff0c;实…

Qt中常见的JS类和函数(二): 全局对象

Qt专栏&#xff1a; http://t.csdnimg.cn/YLlEd 相关系列文章 Qt中字符串转换为JS的函数执行 Qt中常见的JS类和函数(一): 全局对象 Qt中常见的JS类和函数(二): 全局对象 目录 2.3.构造函数属性 2.3.1.Object 2.3.2.Function 2.3.3.Array 2.3.4.ArrayBuffer 2.3.5.String …

LeetCode19. 删除链表的倒数第 N 个结点(C++)

LeetCode19. 删除链表的倒数第 N 个结点 题目链接代码 题目链接 https://leetcode.cn/problems/remove-nth-node-from-end-of-list/description/ 代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : …

c++阶梯之模板初阶

1. 泛型编程 void Swap(int& x, int& y) {int tmp x;x y;y tmp; }void Swap(double& x, double& y) {double tmp x;x y;y tmp; }void Swap(char& x, char& y) {char tmp x;x y;y tmp; } int main() {int a 10, b 20;double c 1.1, d 2.2…