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

阿里云建站教程视频网站关键词排名如何提升

阿里云建站教程视频,网站关键词排名如何提升,网站更改机房备案,网站建设公司如何开拓客户有效的括号(栈) 题目描述 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺…

有效的括号(栈)

题目描述

  • 给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

    有效字符串需满足:

    1. 左括号必须用相同类型的右括号闭合。
    2. 左括号必须以正确的顺序闭合。
    3. 每个右括号都有一个对应的相同类型的左括号。
  • 示例 1:

    输入:s = “()”

    输出:true

    示例 2:

    输入:s = “()[]{}”

    输出:true

    示例 3:

    输入:s = “(]”

    输出:false

    示例 4:

    输入:s = “([])”

    输出:true

  • 提示:

    • 1 <= s.length <= 10^4
    • s 仅由括号 '()[]{}' 组成
  • 然后题目提供了一个函数

  • bool isValid(char* s) {}
    

答案

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>typedef int SKDataType;
typedef struct Stack
{SKDataType *a;int top;//栈顶下标int capacity;//容量
}SK;//初始化栈
void SKInit(SK* ps);
//销毁栈
void SKDestroy(SK* ps);//插入数据,压栈
void SKPush(SK* ps,SKDataType x);
//删除数据,出栈
void SKPop(SK* ps);
//获取现在栈顶元素的值
SKDataType SKTop(SK* ps);//栈的大小
int SKSize(SK* ps);
//判断栈是否为空
bool SKEmpty(SK* ps);//初始化栈
void SKInit(SK* ps)
{assert(ps);ps->a=NULL;ps->capacity=0;ps->top=0;
}//销毁栈
void SKDestroy(SK* ps)
{assert(ps);free(ps->a);ps->a=NULL;ps->top=ps->capacity=0;
}//插入数据,压栈
void SKPush(SK* ps,SKDataType x)
{assert(ps);if(ps->top==ps->capacity){int newCapacity=ps->capacity==0 ? 4 :ps->capacity*2;SKDataType * tmp=(SKDataType*) realloc(ps->a,sizeof (SKDataType)*newCapacity);if(tmp==NULL){perror("realloc failed");exit(-1);}ps->a=tmp;ps->capacity=newCapacity;}ps->a[ps->top]=x;ps->top++;
}//删除数据,出栈
void SKPop(SK* ps)
{assert(ps);assert(ps->top>0);ps->top--;
}//获取现在栈顶元素的值
SKDataType SKTop(SK* ps)
{assert(ps);assert(ps->top>0);return ps->a[ps->top-1];
}//栈的大小
int SKSize(SK* ps)
{assert(ps);return ps->top;
}//判断栈是否为空
bool SKEmpty(SK* ps)
{assert(ps);return ps->top==0;
}bool isValid(char* s) {SK st;SKInit(&st);char topval;while(*s){if(*s=='('||*s=='['||*s=='{'){SKPush(&st,*s);}else{//数量不匹配if(SKEmpty(&st)){SKDestroy(&st);return false;}topval=SKTop(&st);SKPop(&st);if((*s==']'&&topval!='[')||(*s==')'&&topval!='(')||(*s=='}'&&topval!='{')){SKDestroy(&st);return false;}}s++;}//判断栈是否为空,不为空则说明数量不匹配bool ret =SKEmpty(&st);SKDestroy(&st);return ret;
}

思路解析

请添加图片描述

  • 具体的过程如下:
    请添加图片描述
    在这里插入图片描述
http://www.dtcms.com/wzjs/411006.html

相关文章:

  • 湖南城市建设职业技术学院官方网站大数据查询官网
  • 网站重构div css论文软文广告推广
  • 美食网站黑米如何做最近新闻热点
  • 为企业做网站的公司sem是什么设备
  • 做的网站怎样适配手机屏幕留手机号广告
  • 旅游景区网站建设规划方案泰安百度推广代理商
  • 网站建设公司价位网站排名查询站长之家
  • 网站和管理系统的区别温州百度推广公司电话
  • 建设网站服务公司网站建设价格
  • 厦门 外贸公司做网站百度收录官网
  • 徐州整站优化seo网络培训
  • 做二手车有哪些网站有哪些东莞seo建站投放
  • 做网站咋赚钱浙江seo外包
  • 合肥做企业建网站那家好推广赚钱的平台有哪些
  • 重庆中国建设银行招聘信息网站如何做网络销售平台
  • 辽源网站建设设计手机百度官网
  • 建设部监理资质申报网站百度推广一年大概多少钱
  • 做网站需要固定ip么店铺seo是什么意思
  • 黄页引流推广网站软件免费百度西安
  • 做公司网站需要什么资料山西疫情最新情况
  • 微信小程序怎么做活动武汉seo管理
  • 网站怎么做镜像seo外链优化策略
  • 企业官网制作公司志鸿优化网
  • 英山做网站多少钱seo服务工程
  • 网站平台建设方案做做网站
  • php网站建设教程新闻今天的最新新闻
  • 网站建设 福田app拉新项目一手渠道商
  • 网站设计速成北京网站营销与推广
  • 蓝潮网站建设查询收录
  • 安徽合肥制作网站公司吗谷歌google地图