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

免费男人做那个的视频网站运营推广渠道有哪些

免费男人做那个的视频网站,运营推广渠道有哪些,wordpress配置数据库连接,关于做网站电话销售💓 博客主页:倔强的石头的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://www.ds6.com.cn/news/112347.html

相关文章:

  • 模具编程入门先学什么网站优化教程
  • 网站支付宝怎么做的网站建设及网站推广
  • 没有网站可以做淘宝客吗百度搜索推广产品
  • 系统网站自助建站微信营销推广软件
  • 关于网站建设的教材百度商家
  • 域名注册网站排行网络营销产品的特点
  • b2b电子商务网站对比灰色关键词快速排名
  • 长沙建长沙建网站公司蜘蛛seo超级外链工具
  • 云南做网站找谁宁波网站制作优化服务
  • 判断网站如何关闭2345网址导航
  • 建材网站设计统计网站访问量
  • 闻喜网站建设营销型网站建设优化建站
  • asp企业网站模版网页制作模板
  • 大型的营销型网站建设百度网址大全电脑版旧版本
  • 看设计案例的有哪些网站推广策略及推广方式
  • 昆山高端网站设计公司免费建站网站大全
  • 中央人民政府网电话seo网址大全
  • 做网站必须要有服务器吗seo推广服务哪家好
  • 手机做简单的网站网络营销活动方案
  • 网加商学院网站怎么做网站建设解决方案
  • 济南专门做网站的公司南京seo排名公司
  • 卢湾网站设计站长之家网站模板
  • 邢台提供网站建设公司报价百度推广运营工作是什么
  • 像芥末堆做内容的网站关键词优化怎么操作
  • 柳州网站建站费用成都百度百科
  • 开发一个app需要多少资金广东知名seo推广多少钱
  • 导航网站是怎么做的seo推广要多少钱
  • 网站开发业务ppt关键词规划师工具
  • 网站开发 页面功能布局网络推广的平台
  • 茶道网站开发背景重庆百度推广seo