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

C语言 | Leetcode C语言题解之第22题括号生成

题目:

题解:

// 回溯法求解
#define MAX_SIZE 1430  // 卡特兰数: 1, 1, 2, 5, 14, 42, 132, 429, 1430
void generate(int left, int right, int n, char *str, int index, char **result, int *returnSize) {if (index == 2 * n) { // 当前长度已达2nresult[(*returnSize)] =  (char*)calloc((2 * n + 1), sizeof(char));strcpy(result[(*returnSize)++], str);return;}// 如果左括号数量不大于 n,可以放一个左括号if (left < n) {str[index] = '(';generate(left + 1, right, n, str, index + 1, result, returnSize);}// 如果右括号数量小于左括号的数量,可以放一个右括号if (right < left) {str[index] = ')';generate(left, right + 1, n, str, index + 1, result, returnSize);}
}
/*** Note: The returned array must be malloced, assume caller calls free().*/
char** generateParenthesis(int n, int *returnSize) {char *str = (char*)calloc((2 * n + 1), sizeof(char));char **result = (char **)malloc(sizeof(char *) * MAX_SIZE);*returnSize = 0;generate(0, 0, n, str, 0, result, returnSize);return result;
}

相关文章:

  • 数据治理项目——深铁集团数据治理规划
  • 【从零到一手撕脚手架 | 第三节】项目集成CommitLInt+ESLint+Prettier+StyleLint+LintStaged
  • Leetcode【双指针法】
  • 海山数据库(He3DB)原理剖析:浅析OLAP数据库计算引擎中的统计信息
  • 机器学习——概述总结
  • MongoDB【应用 01】通过_id获取记录创建时间(生成规则+解析步骤+源码分享)
  • 计算机组成原理(存储器)
  • 全量知识系统 程序详细设计 之 先验逻辑-实现:从“平凡”回到“平凡” (QA 百度搜索)
  • Echarts-实现地图并轮播地图信息
  • WebView的使用与后退键处理
  • CRMEB多商户商城系统,不止B2B2C
  • 【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(八)- 向量整数算术指令
  • 【c++】string类常见接口函数
  • SpringMVC项目入门
  • python 读取文件内容每一行,写入另一个文件内
  • [译] React v16.8: 含有Hooks的版本
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • ES6 学习笔记(一)let,const和解构赋值
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Java小白进阶笔记(3)-初级面向对象
  • js对象的深浅拷贝
  • js学习笔记
  • JS字符串转数字方法总结
  • MySQL数据库运维之数据恢复
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • springMvc学习笔记(2)
  • windows下mongoDB的环境配置
  • 聊聊sentinel的DegradeSlot
  • 如何胜任知名企业的商业数据分析师?
  • 首页查询功能的一次实现过程
  • 温故知新之javascript面向对象
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 小试R空间处理新库sf
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​io --- 处理流的核心工具​
  • # 达梦数据库知识点
  • #预处理和函数的对比以及条件编译
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (02)vite环境变量配置
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C++17) optional的使用
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (八)Spring源码解析:Spring MVC
  • (超详细)语音信号处理之特征提取
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (六)激光线扫描-三维重建
  • (正则)提取页面里的img标签
  • (转)关于pipe()的详细解析
  • ../depcomp: line 571: exec: g++: not found
  • .bat批处理(六):替换字符串中匹配的子串
  • .FileZilla的使用和主动模式被动模式介绍
  • .Net Core 微服务之Consul(二)-集群搭建
  • .Net Core 中间件与过滤器
  • .net core控制台应用程序初识