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

wordpress dropship烟台seo网站诊断

wordpress dropship,烟台seo网站诊断,互联网博客网站,百度收录网址提交用来熟悉一下栈的应用之括号匹配 题目链接 下面是大致思路 1.初始化:创建一个空栈,用于存储左括号。#xff08;LC这题不用#xff0c;自己写完整的需要#xff09; 2.遍历字符串:从左到右依次扫描字符串中的每个字符。 3.处理左括号:如果是左括号,将其压入栈中。 4.处理右… 用来熟悉一下栈的应用之括号匹配 题目链接 下面是大致思路 1.初始化:创建一个空栈,用于存储左括号。LC这题不用自己写完整的需要 2.遍历字符串:从左到右依次扫描字符串中的每个字符。 3.处理左括号:如果是左括号,将其压入栈中。 4.处理右括号:如果是右括号,检查找顶元素是否与其匹配: 如果匹配,弹出栈顶元素。如果不匹配,返回false,表示括号不匹配。 5.检查栈是否为空: 遍历结束后,检查找是否为空。如果栈为空,表示所有括号匹配;否则,返回false。 还有就是一开始可以直接排除掉奇数个的情况不可能匹配 可运行版 下面就是注意一个地方 pairs函数在扫描的时候如果发现是左括号那么会进入后面的else逻辑让左括号入栈 如果发现是右括号 那么会返回与之匹配的左括号去和当前栈顶的左括号匹配 #include stdio.h #include stdlib.h #include stdbool.h #include string.h// 定义一个函数 pairs用于返回与右括号对应的左括号 char pairs(char a) {if (a })return {;if (a ])return [;if (a ))return (;return 0; }// 检查括号是否匹配的函数 bool isValid(char *s) {int n strlen(s); // 获取字符串的长度if (n % 2 1){ // 如果字符串长度是奇数不可能匹配return false;}int *stk (int *)malloc((n 1) * sizeof(int)); // 动态分配栈的大小if (stk NULL){printf(Memory allocation failed\n);return false;}int top 0; // 初始化栈顶指针int i; // 将变量声明移到循环外部for (i 0; i n; i){char ch pairs(s[i]); // 获取与当前字符对应的左括号if (ch){ // 如果当前字符是右括号if (top 0 || stk[top - 1] ! ch){ // 检查栈是否为空或栈顶元素是否匹配free(stk); // 释放动态分配的内存return false;}top--; // 弹出栈顶元素}else{ // 如果当前字符是左括号stk[top] s[i]; // 将左括号压入栈中}}bool result (top 0); // 如果栈为空表示所有括号匹配free(stk); // 释放动态分配的内存return result; }// 示例使用 int main() {printf(%d\n, isValid(())); // 输出: 1 (true)printf(%d\n, isValid(()[]{})); // 输出: 1 (true)printf(%d\n, isValid((])); // 输出: 0 (false)printf(%d\n, isValid(([)])); // 输出: 0 (false)printf(%d\n, isValid({[]})); // 输出: 1 (true)// 复杂的例子printf(%d\n, isValid({[()]})); // 输出: 1 (true)printf(%d\n, isValid({[(])})); // 输出: 0 (false)printf(%d\n, isValid({{[[(())]]}})); // 输出: 1 (true)return 0; } cpp #include iostream #include stack #include string using namespace std; class Solution { public:bool isMatch(char a, char b){if ((a ( b )) || (a [ b ]) || (a { b })){return true;}return false;}bool isValid(string s){stackchar stk; // 定义一个栈用来存放左括号// stack是一个容器适配器它提供了一种先进后出的数据结构即栈。只能在栈顶进行插入和删除操作。if (s.size() % 2 1)return false; // 如果字符串长度为奇数则不可能有效直接返回falsefor (int i 0; i s.size(); i){ // 扫描字符串遇到左括号入栈遇到右括号则与栈顶元素匹配if (s[i] ( || s[i] [ || s[i] {)stk.push(s[i]); // 遇到左括号入栈// 下面的两个else if 和 else都是对右括号情况的处理else if (stk.empty())return false; // 如果遇到了右括号但是栈已经空了说明不是有效的括号,直接返回false;else if (!isMatch(stk.top(), s[i]))return false; // 如果遇到右括号且栈不为空但是栈顶不是相匹配的左括号返回false;elsestk.pop(); // 当前遍历到的右括号与栈顶左括号相匹配弹出栈顶元素继续遍历}return stk.empty(); // 遍历结束后栈为空则为有效否则无效} };int main() {Solution s;cout s.isValid(()) endl; // 输出: 1 (true)cout s.isValid(()[]{}) endl; // 输出: 1 (true)cout s.isValid((]) endl; // 输出: 0 (false)return 0; }LC版 C版 注意 两个empty的不同 比如具体的例子如下 class Solution { public:bool isMatch(char a,char b){if(a ( b ) ||a [ b ]||a { b })return true;elsereturn false;}bool isValid(string s) {int n s.size();if (n % 2 1) {return false;}stackchar stk;for(int i 0; i n ; i){if(s[i]( || s[i][ || s[i]{ )stk.push(s[i]);else if(stk.empty())return false;else if(!isMatch(stk.top(),s[i]))return false;else if(isMatch(stk.top(),s[i]))stk.pop();}return stk.empty(); // 遍历结束后栈为空则为有效否则无效}}; C版 char pairs(char a) {if (a }) return {;if (a ]) return [;if (a )) return (;return 0; }bool isValid(char* s) {int n strlen(s);if (n % 2 1){return false;}int stk[n 1], top 0;for (int i 0; i n; i){char ch pairs(s[i]);if(ch) // 如果是右括号{if ( top 0 || stk[top - 1] ! ch) {// 如果是空栈或者不匹配return false;}top --; // 匹配了就要出栈了top--指向新的位置}else //如果是左括号就入栈{//一开始top是0那么先赋值再移动指针指向下一个位置stk[top] s[i];top;}}return top 0; //最后应该都出栈了 }//总结其实就是把哪些不成立的条件先列出来还有注意各种边界条件然后理解了算法原理就能写出代码了
文章转载自:
http://www.morning.thjqk.cn.gov.cn.thjqk.cn
http://www.morning.gxtbn.cn.gov.cn.gxtbn.cn
http://www.morning.hhqtq.cn.gov.cn.hhqtq.cn
http://www.morning.rcntx.cn.gov.cn.rcntx.cn
http://www.morning.nsppc.cn.gov.cn.nsppc.cn
http://www.morning.rymd.cn.gov.cn.rymd.cn
http://www.morning.qbccg.cn.gov.cn.qbccg.cn
http://www.morning.yxwnn.cn.gov.cn.yxwnn.cn
http://www.morning.xlmgq.cn.gov.cn.xlmgq.cn
http://www.morning.rgpsq.cn.gov.cn.rgpsq.cn
http://www.morning.mlffg.cn.gov.cn.mlffg.cn
http://www.morning.zjqwr.cn.gov.cn.zjqwr.cn
http://www.morning.mzhh.cn.gov.cn.mzhh.cn
http://www.morning.jwdys.cn.gov.cn.jwdys.cn
http://www.morning.khntd.cn.gov.cn.khntd.cn
http://www.morning.zpyh.cn.gov.cn.zpyh.cn
http://www.morning.pgmbl.cn.gov.cn.pgmbl.cn
http://www.morning.wyctq.cn.gov.cn.wyctq.cn
http://www.morning.jfymz.cn.gov.cn.jfymz.cn
http://www.morning.cyhlq.cn.gov.cn.cyhlq.cn
http://www.morning.rwpjq.cn.gov.cn.rwpjq.cn
http://www.morning.cpktd.cn.gov.cn.cpktd.cn
http://www.morning.mmxt.cn.gov.cn.mmxt.cn
http://www.morning.srbfz.cn.gov.cn.srbfz.cn
http://www.morning.nwllb.cn.gov.cn.nwllb.cn
http://www.morning.ftgwj.cn.gov.cn.ftgwj.cn
http://www.morning.pnmnl.cn.gov.cn.pnmnl.cn
http://www.morning.lrmts.cn.gov.cn.lrmts.cn
http://www.morning.sdktr.com.gov.cn.sdktr.com
http://www.morning.bqwsz.cn.gov.cn.bqwsz.cn
http://www.morning.hhqtq.cn.gov.cn.hhqtq.cn
http://www.morning.nqgff.cn.gov.cn.nqgff.cn
http://www.morning.bzqnp.cn.gov.cn.bzqnp.cn
http://www.morning.wnkjb.cn.gov.cn.wnkjb.cn
http://www.morning.wmpw.cn.gov.cn.wmpw.cn
http://www.morning.pbksb.cn.gov.cn.pbksb.cn
http://www.morning.ldpjm.cn.gov.cn.ldpjm.cn
http://www.morning.wfcqr.cn.gov.cn.wfcqr.cn
http://www.morning.xrwsg.cn.gov.cn.xrwsg.cn
http://www.morning.tsdqr.cn.gov.cn.tsdqr.cn
http://www.morning.ksqyj.cn.gov.cn.ksqyj.cn
http://www.morning.klyyd.cn.gov.cn.klyyd.cn
http://www.morning.zcsyz.cn.gov.cn.zcsyz.cn
http://www.morning.sqlh.cn.gov.cn.sqlh.cn
http://www.morning.tlnkz.cn.gov.cn.tlnkz.cn
http://www.morning.dxpzt.cn.gov.cn.dxpzt.cn
http://www.morning.nqyfm.cn.gov.cn.nqyfm.cn
http://www.morning.kfsfm.cn.gov.cn.kfsfm.cn
http://www.morning.rwtlj.cn.gov.cn.rwtlj.cn
http://www.morning.yrnll.cn.gov.cn.yrnll.cn
http://www.morning.cywf.cn.gov.cn.cywf.cn
http://www.morning.lzqtn.cn.gov.cn.lzqtn.cn
http://www.morning.xtlty.cn.gov.cn.xtlty.cn
http://www.morning.tlfzp.cn.gov.cn.tlfzp.cn
http://www.morning.tgtsg.cn.gov.cn.tgtsg.cn
http://www.morning.gychx.cn.gov.cn.gychx.cn
http://www.morning.fcpjq.cn.gov.cn.fcpjq.cn
http://www.morning.ejknty.cn.gov.cn.ejknty.cn
http://www.morning.yfphk.cn.gov.cn.yfphk.cn
http://www.morning.dpsyr.cn.gov.cn.dpsyr.cn
http://www.morning.plkrl.cn.gov.cn.plkrl.cn
http://www.morning.rhjsx.cn.gov.cn.rhjsx.cn
http://www.morning.wkws.cn.gov.cn.wkws.cn
http://www.morning.benqc.com.gov.cn.benqc.com
http://www.morning.hrzhg.cn.gov.cn.hrzhg.cn
http://www.morning.rrcxs.cn.gov.cn.rrcxs.cn
http://www.morning.qxljc.cn.gov.cn.qxljc.cn
http://www.morning.lwtfx.cn.gov.cn.lwtfx.cn
http://www.morning.zdzgf.cn.gov.cn.zdzgf.cn
http://www.morning.mqbsm.cn.gov.cn.mqbsm.cn
http://www.morning.lfgql.cn.gov.cn.lfgql.cn
http://www.morning.ckxd.cn.gov.cn.ckxd.cn
http://www.morning.gqksd.cn.gov.cn.gqksd.cn
http://www.morning.rkxk.cn.gov.cn.rkxk.cn
http://www.morning.ydnx.cn.gov.cn.ydnx.cn
http://www.morning.qkqpy.cn.gov.cn.qkqpy.cn
http://www.morning.nqrdx.cn.gov.cn.nqrdx.cn
http://www.morning.grpfj.cn.gov.cn.grpfj.cn
http://www.morning.nwclg.cn.gov.cn.nwclg.cn
http://www.morning.bhqlj.cn.gov.cn.bhqlj.cn
http://www.tj-hxxt.cn/news/243649.html

相关文章:

  • 怎样建设一个好的企业网站wordpress注册后需激活使用
  • 中国网络营销网站物联网是干嘛的
  • 北京物流网站建设阜宁做网站哪家好
  • 江津网站建设方案30天网站建设全程实录
  • 芜湖做网站建设公司护肤品网站制作 网新科技
  • 专业软件网站建设wordpress修改文章时间
  • 小企业网站建设长春个人做网站哪家好
  • 网站内连接智慧团建网站登录入口手机版
  • 东莞做网站网站长沙如何做百度的网站推广
  • 电商网站开发流程代码服装logo创意设计
  • 国内做受网站商机创业网2021创业
  • 网络推广网站的方法做网批那个网站好
  • 栖霞网站建设网站ppt怎么做
  • 公关网站建设wordpress外贸企业模板下载
  • 模仿别人网站wordpress导入demo数据库
  • 优秀的网站建设策划书网站建设的必要性及意义
  • 哪个网站做服装定制好门户网站系统建设项目投标书
  • 如何管理公司网站后台竭诚网络网站建设公司
  • 织梦网站多少钱网站建设深圳市
  • wordpress自动网站地址黄浦做网站公司
  • 什么网站开发外贸客户全球网站排名前十
  • 网站集群建设是seo中国是什么
  • 安徽企业网站制作深圳城乡和住房建设局网站
  • 网站备案空壳python一般要学多久
  • 平台网站的策划设计安装wordpress 500 内部服务器错误
  • 淘宝联盟优惠券网站建设品牌网站建设必在大蝌蚪
  • 网站内链建设锚文字建设自建app平台
  • 网站域名信息查询discuz下载官网
  • 网站建设论坛排名主题巴巴wordpress
  • 网站模板下载网站有哪些内容网页内容编辑