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

有效的括号---力扣

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

有效字符串需满足:

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

示例 1:

输入:s = "()"
输出:true

示例 2:

输入:s = "()[]{}"
输出:true

示例 3:

输入:s = "(]"
输出:false

整体思路解析

利用栈的特点能存储数据就把左括号全都放入栈里面,然后看是否有右括号相匹配的如果有就返回true反之就返回false。

栈的代码在这里:利用顺序表对栈的实现-CSDN博客

代码展示:

bool isValid(char* s) {ST ps;STInit(&ps);while(*s){if(*s=='('||*s=='{'||*s=='['){STPush(&ps,*s);}else{if(STEmpty(&ps)){return false;}char top=STTop(&ps);STPop(&ps);if(top!='('&&*s==')'||top!='{'&&*s=='}'||top!='['&&*s==']'){return false;}}s++;}if(!STEmpty(&ps))return false;STDestroy(&ps);return true;
}

http://www.mrgr.cn/news/1948.html

相关文章:

  • 基于Spring Boot的高效宠物购物平台
  • 景联文科技:一文详解如何构建高质量SFT数据
  • 大话C语言:第41篇 结构体与函数的关系
  • 云原生 | Kubernetes 之常用 CNI 网络插件简述与对比
  • 保存数据至后台表
  • Java 安全编程:揭秘加密与解密的艺术
  • 未开启语音助手时,远程控制功能助你快速在家找回手机!
  • C语言 【自定义类型——结构体】(详细)
  • [C#]winform基于深度学习算法MVANet部署高精度二分类图像分割onnx模型高精度图像二值化
  • 人工智能缺陷检测方案METIS(梅迪斯):汽车零部件检测
  • MySQL单表条件查询语句
  • 【页面提取】将搜索到的内容进行截屏保存,搜索到的标题及链接输出到电子表格
  • 探索 Resolume Arena 7 - 引领 VJ 音视频创作的卓越软件
  • 【AI学习】LLaMA模型的微调成本有几何?
  • spark client mode cluster mode 区别 与选择
  • C#中的S7协议
  • python_tutorials_t1,print input操作
  • JMeter常见的高频面试题整理
  • 【前缀和算法】--- 一维和二维前缀和模板
  • jenkins 发布镜像清理