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

源代码网站培训网站建设步和客户沟通

源代码网站培训,网站建设步和客户沟通,网络营销策划方案15篇要求,传奇网站怎么做力扣网 20 有效的括号 题目描述 给定一个只包括 (#xff0c;)#xff0c;{#xff0c;}#xff0c;[#xff0c;] 的字符串 s #xff0c;判断字符串是否有效。 有效字符串需满足#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右…力扣网 20 有效的括号 题目描述 给定一个只包括 (){}[] 的字符串 s 判断字符串是否有效。 有效字符串需满足 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 示例 1 输入s () 输出true示例 2 输入s ()[]{} 输出true示例 3 输入s (] 输出false思路分析 如果这里再用所谓的遍历字符串寻找进行匹配的话时间复杂度高且不说还麻烦但如果我们学习栈了以后这道题会变得异常轻松。 我们将所有的左括号入栈在字符串里找右括号同时出栈左括号进行匹配如果匹配成功就返回true否则返回false。 注意的问题 这里除了括号类型的匹配问题同时还有数量问题会存在左括号多于右括号或者反过来的情况这里如果数量不匹配的话也返回false。 判断数量的问题再寻找右括号时先判断栈是否为空这是判断右括号多余左括号的情况 在遍历一遍字符串后如果栈里面还有括号说明左括号多于右括号也返回false。 完整代码 力扣环境下是不提供栈的这里我们需要自己定义。 栈定义和常用接口 头文件 #pragma once #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h #includestdlib.h #includeassert.h #includestdbool.htypedef char STDataType;typedef struct Stack {STDataType* a;int _top;int _capacity; }Stack;// 初始化栈 void StackInit(Stack* ps); // 入栈 void StackPush(Stack* ps, STDataType data); // 出栈 void StackPop(Stack* ps); // 获取栈顶元素 STDataType StackTop(Stack* ps); // 获取栈中有效元素个数 int StackSize(Stack* ps); // 检测栈是否为空如果为空返回非零结果如果不为空返回0 int StackEmpty(Stack* ps); // 销毁栈 void StackDestroy(Stack* ps); 接口实现文件 #includeStack.h// 初始化栈 void StackInit(Stack* ps) {assert(ps);ps-a NULL;ps-_capacity 0;ps-_top 0; }// 入栈 void StackPush(Stack* ps, STDataType data) {assert(ps);//检查是否栈满if (ps-_top ps-_capacity){int newcapacity ps-_capacity 0 ? 4 : ps-_capacity * 2;Stack* ptr realloc(ps-a, sizeof(STDataType) * newcapacity);if (ptr NULL){perror(realloc fail);return;}ps-a ptr;ps-_capacity newcapacity;}//入栈ps-a[ps-_top] data;ps-_top; }// 出栈 void StackPop(Stack* ps) {assert(ps);assert(ps-_top 0);ps-_top--; }// 获取栈顶元素 STDataType StackTop(Stack* ps) {assert(ps);assert(ps-_top 0);return ps-a[ps-_top-1]; }// 获取栈中有效元素个数 int StackSize(Stack* ps) {assert(ps);return ps-_top; } // 检测栈是否为空如果为空返回非零结果如果不为空返回0 int StackEmpty(Stack* ps) {assert(ps);if (ps-_top 0){return 1;}else{return 0;} }// 销毁栈 void StackDestroy(Stack* ps) {assert(ps);free(ps-a);ps-_capacity 0;ps-_top 0; } 题目所需代码 bool isValid(char* s) {Stack st;StackInit(st);//初始化栈while (*s){if (*s { || *s ( || *s [)//为左括号进栈{StackPush(st, *s);}else{if (StackEmpty(st))//如果为右括号先判断栈是否为空{StackDestroy(st);return false;}char top StackTop(st);//出栈栈顶括号StackPop(st);if (*s ] top ! [ ||//两者进行匹配如果存在不等情况返回false*s } top ! { ||*s ) top ! (){StackDestroy(st);return false;}}s;}bool ret StackEmpty(st);//最后再判断栈是否为空左括号多余右括号情况布尔值如果栈为空返回真否则返回假StackDestroy(st);return ret; }
http://www.w-s-a.com/news/566135/

相关文章:

  • 新网站该如何做网站优化呢网络营销网站设计
  • 旅游门户网站模板下载做策划网站推广怎么写简历
  • 建设隔离变压器移动网站wordpress动态导航
  • 平潭建设局网站中国免费素材网
  • 虚拟主机可以做视频视频网站吗做爰全过程免费的视频网站有声音
  • 专业做家电经销的网站网络管理系统有哪几部分组成
  • 自学网站编程网站名称需要注册吗
  • 网站后台管理系统怎么添加框安徽省工程建设协会网站
  • 雨花台网站建设wordpress找回
  • 四川哪家网站推广做的好网站开发人才需求
  • 什么网站可以找手工活做一站式服务平台官网
  • 做购物网站的步骤网站核心词如何做
  • 做品牌设计网站公司网站没做301怎么做301
  • 服务流程企业网站wordpress文章的使用
  • 网站开发组合淘宝网站开发选什么类目
  • 广东手机网站建设个人电脑做网站主机
  • 健身俱乐部网站开发文档建一个网站需要什么条件
  • 买的网站模板怎么做建设行政管理部门网站
  • 怎么让百度多收录网站关键词seo深圳
  • 陕西交通建设集团网站体检个人网站设计模板田田田田田田田田
  • ae模板网站推荐安徽建筑信息平台
  • 新网站建设代理商wordpress模板商店
  • 中国十大设计素材网站wordpress发布失败
  • 江西省建设监理网站网页制作与设计是什么
  • 在招聘网站做销售怎么样网址你懂我意思正能量不用下载ios
  • 高端企业网站定制公司企业网站2000元
  • 成都网站建设:河北省建设工程质量监督网站
  • 四川省建设厅官网信息查询平台北京seo关键词优化外包
  • 网站建设响应式是什么意思wordpress弹窗打开网页
  • 做美工需要参考的网站漳州做网站的公司