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

英文企业网站源码贵州交通建设集团网站

英文企业网站源码,贵州交通建设集团网站,辽宁网上注册公司流程,网红营销也称为Leetcode刷题之有效的括号#xff08;C语言版#xff09; 一、题目描述二、题目测试用例三、题目分析四、完整代码 一、题目描述 20、有效的括号 给定一个只包括 (#xff0c;)#xff0c;{#xff0c;}#xff0c;[#xff0c;] 的字符串 s #xff0c;判断字符串是… Leetcode刷题之有效的括号C语言版 一、题目描述二、题目测试用例三、题目分析四、完整代码 一、题目描述 20、有效的括号 给定一个只包括 (){}[] 的字符串 s 判断字符串是否有效。有效字符串需满足①、左括号必须用相同类型的右括号闭合。 ②、左括号必须以正确的顺序闭合。 ③、每个右括号都有一个对应的相同类型的左括号。二、题目测试用例 三、题目分析 本题是要将左括号与右括号相匹配的进行闭合所以我们想到采用“栈”的先进后出特性来进行数据的存放操作。所以我们先要写一个栈出来包括栈的创建栈的销毁等许多的基础操作。如果大家忘记了栈的相关操作如何去写可以看我之前的文章《数据结构——栈的详细介绍》。写好栈之后我们对于本道题的解题思路便是 ①、左括号入栈 if(*s(||*s{||*s[){PushST(st,*s);}②、右括号出栈顶元素与其进行比较 这里需要注意的是如果当前只有一个任意的右括号那么就没有可能出栈与其进行匹配操作所以在此要对栈进行判空保证当前栈内存在元素。如果当前栈内没有元素便要对栈进行销毁操作以防止内存的泄漏。 else{//判断栈当前是否为空if(STEmpty(st)){//注意在此需要防止内存泄漏//销毁栈DestoryST(st);return false;}//判断匹配问题char topTopST(st);//对栈顶元素进行出栈更新栈顶元素PopST(st);if((*s]top![)||(*s}top!{)||(*s)top!()){//注意在此需要防止内存泄漏//销毁栈DestoryST(st);return false;}}③、返回值 bool retSTEmpty(st);查看当前栈内是否还存在其他的元素如果没有则返回true,否则返回false。 四、完整代码 //定义数据类型 typedef char STDatatype;typedef struct STack {STDatatype* a;//数组int capacity;//容量int top;//栈顶元素的下一个 }ST;//初始化 void InitST(ST* pst); //销毁 void DestoryST(ST* pst); //压栈 void PushST(ST* pst, STDatatype x); //出栈 void PopST(ST* pst); //判空 bool STEmpty(ST* pst); //获取栈顶元素 STDatatype TopST(ST* pst); //获取栈的size int STSize(ST* pst); //初始化 void InitST(ST* pst) {assert(pst);pst-a NULL;pst-capacity 0;//栈顶元素的下一个位置pst-top 0; } //销毁 void DestoryST(ST* pst) {assert(pst);free(pst-a);pst-a NULL;pst-capacity pst-top 0; } //压栈 void PushST(ST* pst, STDatatype x) {if (pst-top pst-capacity){int newcapacity pst-capacity 0 ? 4 : pst-capacity * 2;STDatatype *tmp (STDatatype*)realloc(pst-a, sizeof(STDatatype) * newcapacity);if (tmp NULL){perror(realloc fail);return;}pst-a tmp;pst-capacity newcapacity;}//插入数据pst-a[pst-top] x;pst-top; } //出栈 void PopST(ST* pst) {assert(pst);assert(!STEmpty(pst));pst-top--; } //判空 bool STEmpty(ST* pst) {assert(pst);return pst-top 0; } //获取栈顶元素 STDatatype TopST(ST* pst) {assert(pst);assert(!STEmpty(pst));return pst-a[pst-top-1]; } //获取栈的size int STSize(ST* pst) {assert(pst);return pst-top; } bool isValid(char* s) {ST st;//初始化InitST(st);//解题思路①左括号入栈 ②右括号出栈while(*s){if(*s(||*s{||*s[){PushST(st,*s);}else{//判断栈当前是否为空if(STEmpty(st)){//注意在此需要防止内存泄漏//销毁栈DestoryST(st);return false;}//判断匹配问题char topTopST(st);//对栈顶元素进行出栈更新栈顶元素PopST(st);if((*s]top![)||(*s}top!{)||(*s)top!()){//注意在此需要防止内存泄漏//销毁栈DestoryST(st);return false;}}s;}bool retSTEmpty(st);//销毁栈DestoryST(st);return ret; }
http://www.zqtcl.cn/news/968193/

相关文章:

  • 网站没有流量房地产广告设计网站
  • 北京学网站开发企业官网设计规范
  • wordpress google插件广州seo
  • 网站制作平台专门做推广的软文
  • 怎么用目录建wordpress站点怎样开发wordpress主题
  • 免费网站排名优化在线南通科技网站建设
  • 辽宁网站建设招标怎么建设像天猫的网站
  • 新闻类网站排版网站建设东莞正规网站建设
  • 网站开发亿玛酷出名5重庆公司买深圳社保
  • 网站建设开发报价单苏州网上注册公司流程
  • 网站开发包含河南洛阳网络公司
  • 个人网站建设方案书使用几号纸网站出租目录做菠菜 有什么坏处
  • 烟台做网站案例产品设计欣赏
  • 长安网站建设多少钱室内设计学校培训的
  • 驻马店北京网站建设怎么用网站做转换服务器
  • 成都网站建设cdxwcx百度搜索关键词排名优化推广
  • 框架网站怎么做o2o是什么意思的
  • 山东响应式网站网页设计素材电影
  • 新都区网站建设网站设计公司排行榜
  • 网站建设需求分析调研表建筑品牌网站
  • html5商城网站如何查询网站建设者
  • 做重视频网站教育网站改版方案
  • 小网站谁有网站上线后做什么
  • 松江网站建设培训手机网站你们
  • 荆州网站建设 众火网北京小客车指标调控管理信息系统
  • 域名和网站一样吗自己开发小程序要多少钱
  • 咨询公司网站源码手机优化软件哪个好用
  • 行业网站模板小型影视网站源码
  • 湖北网站建站系统哪家好微信小程序怎么注销账号
  • 温州网站推广公司沈阳网站建设服务电话