C语言

bool isValid(char * s){int length = strlen(s);//因为设置的str空间是从下标1开始的,所以要length/2+2//用length/2是因为括号都是配对的,用一半的就行了char* str=(char*)malloc(length/2+2);memset(str,0,length/2+2);//初始化内存空间int i,j=0;for(i=0;i<length;i++){if((*(s+i)=='(')||(*(s+i)=='{')||(*(s+i)=='[')){   j++;*(str+j)=*(s+i);    }//'('与')'的ASCII值差1,'['与']','{'与'}'的ASCII值差2else if((*(s+i)==(*(str+j)+1))||(*(s+i)==(*(str+j)+2))){j--;}elsereturn false;}if(j)return false;return true;
}

C++ 利用栈进行判断

class Solution {
public:bool isValid(string s) {stack<char>st;if(s.size()%2==1)return false;                       //奇数个括号,直接返回falsefor(int i=0;i<s.size();i++){switch(s[i]){case'(':                       //左括号入栈st.push(s[i]);break;case'[':st.push(s[i]);break;case'{':st.push(s[i]);break;case')':                        //遇到右括号,检测栈顶if (st.empty()||st.top()!='(')return false;else{st.pop();break;}case']':if (st.empty()||st.top()!='[')return false;else{st.pop();break;}case'}':if (st.empty()||st.top()!='{')return false;else{st.pop();break;}}}return st.empty()?true:false;}
};

python

class Solution:def isValid(self, s: str) -> bool://如果括号是奇数,肯定是错误的if len(s)%2 != 0:return Falsewhile '()' in s or '[]' in s or '{}' in s:s = s.replace('[]','').replace('()','').replace('{}','')return True if s == '' else False

leetcode-有效的括号(三种语言不同思路)相关推荐

  1. 计算机网络技术及应用 课程 英语,计算机网络应用—现代英语课堂中的第三种语言...

    陶 兰 摘 要 众所周知,传统的课堂教学包括了教师教学语言及教师体态语言.前者指教师为了灌输知识用自己的声音所进行的表达和与学生的交流;后者指教师为了达到教学目的而有意做出的表情.动作和姿势的总和.随 ...

  2. ABAP, Java和JavaScript三种语言的比较

    写这个系列的初衷是SAP Chengdu office有越来越多的应届毕业生加入,这些新同事通过在大学的专业学习,具备了Java和JavaScript背景,但是进入SAP之后大家觉得ABAP没有Jav ...

  3. 会java c php三种语言_php java net三种语言的区别

    php java net是现在比较流的三种编程语言. 如果学的时候,该学哪种语言呢? PHP:PHP产生与1994年,其语法混合了C.Java.Perl 和他自创的一些编程语法:PHP是嵌入在HTML ...

  4. 西门子哪款plc支持c语言,西门子PLC三种语言的区别

    原标题:西门子PLC三种语言的区别 PLC是机器人重要的一部分,下面小编就为大家介绍一些3种语言的区别,帮助大家学习. 一.梯形图 梯形图作为简单易读通俗易懂基本属于新人学习PLC的首选,而且调试的时 ...

  5. Spark - OnYARN 模式搭建,并使用 Scala、Java、Python 三种语言测试

    一.SparkOnYarn搭建 安装前需要提前安装好 hadoop 环境,关于 HDFS 和 Yarn 集群的搭建可以参考下面我的博客: https://blog.csdn.net/qq_436929 ...

  6. 华为商城抢购助手_华为推海外版语音助手Celia:六国首发支持三种语言

    3月26日晚间消息,华为P40系列今日在海外发布,全新的EMUI 10.1也随之亮相.此次华为推出了海外版语音助手Celia,随华为P40系列在英国.西班牙.法国.智利.墨西哥.哥伦比亚六国首发上线. ...

  7. python编程剪刀石头布思路_剪刀石头布小习题三种语言python2、php、go代码

    剪刀石头布小习题三种语言python2.php.go代码 # coding:utf-8 """ python核心编程6-14习题的解题思路 设计一个"石头,剪子 ...

  8. 计算机的三种语言及相关技术2019.7.1

    三种语言(统称为编程语言) 机器语言 计算机的硬件作为一种电路元件,它的输出和输入只能是有电或者没电,也就是所说的高电平和低电平,所以计算机传递的数据是由"0" 和"1& ...

  9. c# winform项目多语言实现(支持简/繁/英三种语言),Winform中多国语言窗体设计.doc...

    Winform中多国语言窗体设计.doc Winform中多国语言窗体的设计以及.NET中资源文件的使用 最近在做一些多国语言的软件,就学习了一下.NET中的多国语言相应知识,受益不少,下面我就简单介 ...

最新文章

  1. Chapter5_初始化与清理_enum关键字
  2. (转载)Android游戏开发之旅一 长按Button原理
  3. 串口通讯超时的设置与含义(COMMTIMEOUTS)
  4. 【ARM】ARM汇编程序设计(三) 循环结构
  5. visio数据流线文字方向的问题
  6. 在熟练使用2B铅笔前,请不要打开Axure
  7. Azure VMSS (1) 入门
  8. MySQL数据库 实验报告(三)
  9. C语言中各种格式字符说明
  10. python练习题5:货币转换 I
  11. 【HTML基础】acronym和abbr的区别
  12. AnyTrans for Mac(ios数据传输工具)
  13. 网络协议学习笔记 · 22
  14. Java爬虫 爬取英雄联盟英雄的皮肤图片到本地
  15. 一年当中几月份买车最合适?什么时候最便宜?
  16. 徐磊语法 6 7 时态的正确定义
  17. 密码学笔记1-信息安全的基本属性(机密性、认证、完整性、不可否认性)
  18. pb 选择多行数据窗口数据_PB数据窗口中自动换行
  19. win10安装并配置node.js
  20. 日元兑人民币用计算机怎么算,日元兑换人民币是以什么计算?谢谢我有日元 – 手机爱问...

热门文章

  1. AngularJS实战之Controller之间的通信
  2. cas sso单点登录 登录过程和登出过程原理说明
  3. Hadoop: MapReduce2的几个基本示例
  4. 3D 服务器端以向量计算为主的角色位置的算法
  5. Java基础之Calendar应用:每周三、六休息,从某个日期起至今休息多少天?
  6. jQuery 插件 输入框focus效果 编写自己的插件
  7. 使用李天平代码生成器中分页存储过程的问题
  8. 服务器上安装ffmpeg后报错及解决方案libavdevice.so.58: cannot open shared object file: No such file or directory
  9. 莱斯信道衰落下的QPSK误码率分析
  10. 如何制作python检查小软件_如何用Python制作整蛊小程序