当前位置: 首页 > news >正文

力扣刷题22. 括号生成

22. 括号生成 - 力扣(LeetCode)

递归一次加入括号即可,需要定义两个变量用来记录左括号与右括号的数量,如果左括号的值小于最大值,则加入左括号,进行递归,如果右括号小于左括号,则加入进行递归

class Solution {
    List<String> list;
    int n;
    StringBuilder sb;
    public List<String> generateParenthesis(int n) {
        this.n = n;
        list = new ArrayList<>();
        sb = new StringBuilder();
        dfs(0, 0);
        return list;
    }

    public void dfs(int count1, int count2) {
        if (sb.length() == n * 2 && count1 == n && count2 == n && !list.contains(sb.toString())) {
            list.add(sb.toString());
            return;
        }
        if (count1 < n) {
            sb.append('(');
            dfs(count1 + 1, count2);
            sb.deleteCharAt(sb.length() - 1);
        }
        if (count2 < count1) {
            sb.append(')');
            dfs(count1, count2 + 1);
            sb.deleteCharAt(sb.length() - 1);

        }

    }

}

相关文章:

  • 抓包工具fiddler的基础知识
  • 【雅思播客09】Turn Left here.
  • AI:昆仑万维 MusiCoT 技术介绍
  • 【深度学习与实战】2.1、线性回归模型与梯度下降法先导案例--最小二乘法(向量形式求解)
  • 使用 Cursor、MCP 和 Figma 实现工程化项目自动化,提升高达 200% 效率
  • LeetCode 2760 最长奇偶性
  • 英伟达与通用汽车深化合作,澳特证券am broker助力科技投资
  • NotePad++与Navicat工具的下载 完全免费无套路
  • 《索引江湖:B树索引与哈希索引的风云对决》
  • 【设计模式】责任链模式
  • 模型 阿米巴模式
  • 信息安全专业优秀毕业设计选题题目汇总:课题建议
  • react-create-app整合windicss
  • 计算机视觉(CV)技术的优势和挑战
  • 2025.3.26总结
  • Camera控制:你需要掌握的理论基础
  • 医院管理系统(源码)分享
  • TCP/IP的网络连接设备
  • 重生细胞全符文获取攻略
  • 基于Spring Boot的成绩管理系统后台实现
  • 苹果Safari浏览器上的搜索量首次下降
  • 西安碑林博物馆票价将调至85元,工作人员:10元属于改扩建期间惠民票
  • A股26家游戏企业去年营收近1900亿元:过半净利下滑,出海成为主流选择
  • 纪念苏联伟大卫国战争胜利80周年阅兵彩排,解放军仪仗队亮相
  • 湖南张家界警方公告宣布一名外国人居留许可作废
  • 农行原首席专家兼浙江省分行原行长冯建龙主动投案,正接受审查调查