首页 > 其他分享 >【LeetCode】括号生成

【LeetCode】括号生成

时间:2023-02-16 23:44:55浏览次数:43  
标签:return int res dfs 生成 括号 LeetCode

括号生成

题目

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

 

示例 1:

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

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

提示:

1 <= n <= 8

思路

回溯,

class Solution{
public:
    vector<string> res;
    vector<string> generateParenthesis(int n){
        dfs("", n, n);
        return res;
    }
    void dfs(const string& s, int l, int r) {
        // s中有括号数量多于左括号了,则不符合条件
        if (l < 0 || l > r) return;
        if (l == 0 && r == 0) {
            res.push_back(s);
            return ;
        }
        dfs(s + '(', l - 1, r);
        dfs(s + ')',l ,r - 1);
    }
};

标签:return,int,res,dfs,生成,括号,LeetCode
From: https://www.cnblogs.com/basilicata/p/17128437.html

相关文章

  • JavaDoc生成文档
    参数信息:@author 作者名@version版本号@sinse指明需要最早使用的jdk版本@param参数名@return返回值情况@throws异常抛出情况 ......
  • Leetcode刷题
    双指针系列26.删除有序数组的重复项题目的大致意思就是给一个数组,要求你再数组中删除重复的项,并返回删除后数组的长度。思路在这里想引入一个过滤器的思想,思......
  • 最长有效括号
    给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。/***@param{string}s*@return{number}*/constlongestValidParenthese......
  • 【LeetCode】数组能形成多少数对
    数组能形成多少数对题目给你一个下标从0开始的整数数组nums。在一步操作中,你可以执行以下步骤:从nums选出两个相等的整数从nums中移除这两个整数,形成一个......
  • 使用 html2Canvas 与 JsPDF 生成海报和pdf文件下载等业务,解决pdf分页样式问题
    需求场景吧页面元素内容转成图片,生成一个海报保存或者上传服务器当前元素内容生成一个pdf文件完成下载到客户端,并且上传到服务器1.开发前的准备//元素转图片npm......
  • 【LeetCode】电话号码的字母组合
    电话号码的字母组合题目给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1......
  • JWT(生成Token令牌)
    .NetCore配置使用什么是JWT(详情在面试.md中有)JWT是目前最流行的跨域身份验证解决方案,JWT的原则是在服务器身份验证之后,会返回一个Json数据,,之后,当用户与服务器通......
  • dom4j解析和生成xml文件
    解析xml大致步骤:1:创建SAXReader;2:使用SAXReader解析指定的xml文档信息,并返回对应Document对象。Document对象中就包含了该xml文中的所有信息以及结构了。3:根据文档......
  • 普通生成函数学习笔记
    现在我们考虑有一个序列\((a_1,a_2,a_3,\cdots,a_n,\cdots)\)。我们将这个序列作为形式幂级数\(A(x)=\sum_{n\ge0}{a_{n}x^n}\)的常数项序列。\(A(x)\)就是序列\(\{a......
  • 【LeetCode】三数之和
    三数之和题目描述给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==......