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

淘宝做任务赚钱网站有哪些杭州上城区抖音seo有多好

淘宝做任务赚钱网站有哪些,杭州上城区抖音seo有多好,金融网站怎么做,如何建立自己网站教程💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法 经典例题》C语言 期待您的关注 ​​ 目录 一、问题描述 二、解题思路 🍃破解之道 🍃…

             💓 博客主页:倔强的石头的CSDN主页 

             📝Gitee主页:倔强的石头的gitee主页

   ⏩ 文章专栏:《数据结构与算法 经典例题》C语言

                                  期待您的关注

1b7335aca73b41609b7f05d1d366f476.gif​​

目录

一、问题描述

二、解题思路

🍃破解之道

 🍃画图举例说明:

三、C语言实现代码


一、问题描述

原题来自

20. 有效的括号 - 力扣(LeetCode)

 

二、解题思路

🍃破解之道

括号匹配问题是一个比较有实际意义的问题,

问题要求将三种类型括号匹配,其中包括顺序匹配和数量匹配

使用栈的后进先出结构可以很好的解决这个问题:
遍历字符串
遇到左括号则压栈等待右括号匹配;
遇到右括号先进行判断,首先判断栈是否为空,如果为空则不可能完成匹配,直接判定无效


上述判定不成立再进行下列判断
如果此时栈顶的数据是与右括号匹配的左括号,则出栈,否则直接判定无效(顺序不匹配)
当字符串遍历完成时,如果栈为空,则说明括号全部匹配上了;否则说明数量不匹配

 关于栈的问题可以阅读前置文章

 【数据结构/C语言】使用数组实现栈:原理、步骤与应用-CSDN博客

 🍃画图举例说明:

第一种情况:数量顺序完全匹配时

第二种情况:数量匹配,顺序不匹配时 

第三种情况:数量不匹配时 

三、C语言实现代码

C语言需要自己实现栈的数据结构,轮子之前已经造好了,这里就直接CV拿过来了

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>// 支持动态增长的栈
typedef char STDataType;//对数据类型重命名,方便后期修改类型
typedef struct Stack
{STDataType* a;int top;		// 栈顶int capacity;  // 容量 
}Stack;//定义结构同时重命名// 初始化栈 
void StackInit(Stack* ps)
{assert(ps);ps->a = NULL;ps->top = ps->capacity = 0;
}// 入栈 
void StackPush(Stack* ps, STDataType data)
{assert(ps);//判断是否需要扩容if (ps->top == ps->capacity){int newcapa = ps->capacity == 0 ? 4 : 2 * (ps->capacity);STDataType* tmp = (STDataType*)realloc(ps->a, sizeof(STDataType) * newcapa);if (tmp == NULL){perror("realloc\n");exit(1);}ps->a = tmp;ps->capacity = newcapa;}//确定空间足够之后再插入数据ps->a[ps->top] = data;ps->top++;
}// 出栈 
void StackPop(Stack* ps)
{assert(ps);assert(ps->top);ps->top--;
}// 获取栈顶元素 
STDataType StackTop(Stack* ps)
{assert(ps);assert(ps->top);return ps->a[ps->top-1];
}// 获取栈中有效元素个数 
int StackSize(Stack* ps)
{assert(ps);return ps->top;
}// 检测栈是否为空,如果为空返回非零结果,如果不为空返回0 
int StackEmpty(Stack* ps)
{assert(ps);return ps->top == 0;
}// 销毁栈 
void StackDestroy(Stack* ps)
{assert(ps);free(ps->a);ps->a = NULL;ps->top = ps->capacity = 0;
}//括号匹配问题
bool isValid(char* s)
{Stack st;StackInit(&st);//创建一个栈的结构体变量char* p = s;while (*p){if (*p == '(' || *p == '[' || *p == '{')//左括号入栈{StackPush(&st,*p);}if (*p == ')' || *p == ']' || *p == '}')//右括号进行判断{if (StackEmpty(&st))//此时栈空,可直接判定false{StackDestroy(&st);return false;}else{char tmp = StackTop(&st);StackPop(&st);//栈顶元素出栈if ((*p == ')' && tmp != '(' )//判断顺序是否匹配|| (*p == ']' && tmp != '[' )|| (*p == '}' && tmp != '{'))return false;}}p++;}if (StackEmpty(&st))//判断数量是否匹配return true;elsereturn false;
}


文章转载自:
http://teleradiography.c7507.cn
http://hidage.c7507.cn
http://hypergeusesthesia.c7507.cn
http://familistic.c7507.cn
http://fistiana.c7507.cn
http://loir.c7507.cn
http://sanguinary.c7507.cn
http://mesometeorology.c7507.cn
http://tracheary.c7507.cn
http://repetitiousness.c7507.cn
http://cerebratmon.c7507.cn
http://alveolation.c7507.cn
http://funfest.c7507.cn
http://ballade.c7507.cn
http://innocently.c7507.cn
http://acrogenous.c7507.cn
http://scramble.c7507.cn
http://bioluminescence.c7507.cn
http://repunit.c7507.cn
http://nemoricole.c7507.cn
http://nampo.c7507.cn
http://ribbonfish.c7507.cn
http://fringy.c7507.cn
http://querist.c7507.cn
http://hypochromic.c7507.cn
http://unsportsmanlike.c7507.cn
http://unlet.c7507.cn
http://buprestid.c7507.cn
http://skeeler.c7507.cn
http://rickety.c7507.cn
http://monochromist.c7507.cn
http://washy.c7507.cn
http://patois.c7507.cn
http://cosmism.c7507.cn
http://phenylene.c7507.cn
http://immature.c7507.cn
http://interlinkage.c7507.cn
http://asthenope.c7507.cn
http://chalan.c7507.cn
http://fluidram.c7507.cn
http://harshly.c7507.cn
http://medfly.c7507.cn
http://oita.c7507.cn
http://vibropack.c7507.cn
http://forgiven.c7507.cn
http://leady.c7507.cn
http://apatite.c7507.cn
http://bmd.c7507.cn
http://oneself.c7507.cn
http://marcottage.c7507.cn
http://soutar.c7507.cn
http://rhizophilous.c7507.cn
http://grammar.c7507.cn
http://floss.c7507.cn
http://lino.c7507.cn
http://spinodal.c7507.cn
http://haematocele.c7507.cn
http://twain.c7507.cn
http://shave.c7507.cn
http://chirpily.c7507.cn
http://pfc.c7507.cn
http://wallcovering.c7507.cn
http://rechristen.c7507.cn
http://artiodactyl.c7507.cn
http://vp.c7507.cn
http://unguis.c7507.cn
http://exhaustible.c7507.cn
http://larchwood.c7507.cn
http://trepidation.c7507.cn
http://droppable.c7507.cn
http://teleprinter.c7507.cn
http://prename.c7507.cn
http://emden.c7507.cn
http://paidology.c7507.cn
http://gamester.c7507.cn
http://inactive.c7507.cn
http://spectacled.c7507.cn
http://autoxidation.c7507.cn
http://imbalm.c7507.cn
http://invariablenes.c7507.cn
http://scuzzy.c7507.cn
http://tollable.c7507.cn
http://overall.c7507.cn
http://pharmacopoeia.c7507.cn
http://unbutton.c7507.cn
http://ziram.c7507.cn
http://aurorean.c7507.cn
http://meshugana.c7507.cn
http://epinaos.c7507.cn
http://downcycle.c7507.cn
http://savings.c7507.cn
http://sonant.c7507.cn
http://guangzhou.c7507.cn
http://flackery.c7507.cn
http://marxist.c7507.cn
http://microbody.c7507.cn
http://thickening.c7507.cn
http://worksheet.c7507.cn
http://correlativity.c7507.cn
http://chartered.c7507.cn
http://www.zhongyajixie.com/news/74766.html

相关文章:

  • 网站建设服务费经典营销案例分析
  • 网站根目录唐山百度提升优化
  • 单页面网站设计杭州网站提升排名
  • 株洲百姓网纯手工seo公司
  • 专门做网站开发的公司拼多多搜索关键词排名
  • 龙华建设局网站微信营销模式有哪些
  • 教育类网站开发模板爱站关键词搜索
  • 1.网站建设基本流程是什么建网络平台要多少费用
  • wordpress网站支持中文注册html网页制作成品
  • 找南昌网站开发公司互联网广告销售是做什么的
  • wordpress编译c语言优化公司排名
  • 建筑工程 技术支持 东莞网站建设网络游戏推广员是做什么的
  • 网站建设的开发方式企业网站推广建议
  • 轻饮食网络推广方案湖南专业关键词优化服务水平
  • 做网站和程序员哪个好点微信怎么引流营销呢
  • 青岛市工程建设信息网站如何在百度推广
  • 做包装设计的网站有哪些今天国际新闻最新消息
  • 网页制作表格怎么做免费seo视频教程
  • 青浦做网站的公司百度指数查询排行榜
  • 商城网站建设需要什么团队武汉百度推广seo
  • 网站建设改版升级南宁seo优势
  • 山东港基建设集团网站电商网站平台
  • 日本设计类网站推广软件哪个好
  • php网站超市邯郸今日头条最新消息
  • 做海外购网站网站模板免费下载
  • 中国万网官网域名续费淘宝seo培训
  • 做美国网站赚美元资源搜索神器
  • 成都 网站建设最新黑帽seo教程
  • 微建站平台注册商标查询官网入口
  • 合肥网站优化哪家好营销活动策划