题目:对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。
给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串。

测试样例:
“(()())”,6
返回:true

测试样例:
“()a()()”,7
返回:false

测试样例:
“()(()()”,7
返回:false

解析:用一个栈来完成该题目,遇到 “(”就入栈,遇到“)”右括号就弹栈(需要判断栈是否为空,要是空,没的弹 ,直接返回false了)。既不是“(”又不是“)”就返回false

import java.util.*;
public class Parenthesis {public boolean chkParenthesis(String A, int n) {Stack<String> stack = new Stack<>();for(int i=0;i<n;i++){if(A.charAt(i)=='('){//入栈stack.push(String.valueOf(A.charAt(i)));}else if(A.charAt(i)==')'){//弹栈if(stack.isEmpty()){//理论上是不为空的,因为前面一般会有个"("与它配对的return false;}else {stack.pop();}}else {//不是左括号又不是右括号,返回falsereturn false;}}return stack.isEmpty();//栈空,说明左括号和右括号都配上了}
}

《程序员面试金典》合法括号判断相关推荐

  1. 程序员面试金典——7.3判断直线相交

    程序员面试金典--7.3判断直线相交 Solution1:我的答案,虽然能AC,但不是很讲究,吸收教训 class CrossLine { public:bool checkCrossLine(dou ...

  2. 【To Do!】程序员面试金典——18.8子串判断

    程序员面试金典--18.8子串判断 Solution1:我的答案 利用了C++ STL中自带的find函数,有点投机取巧的意思,正统方法是用trie树(单词查找树)来做,那就麻烦了许多 class S ...

  3. 程序员面试金典——17.4无判断max

    程序员面试金典--17.4无判断max 参考网址: https://www.nowcoder.com/practice/b0a82250677a4fabb0bc41053fa05013?tpId=8& ...

  4. 判断直线相交 牛客网 程序员面试金典

    判断直线相交 牛客网 程序员面试金典 题目描述 给定直角坐标系上的两条直线,确定这两条直线会不会相交. 线段以斜率和截距的形式给出,即double s1,double s2,double y1,dou ...

  5. 无判断max 牛客网 程序员面试金典 C++ Python

    无判断max 牛客网  程序员面试金典 C++ Python 题目描述 请编写一个方法,找出两个数字中最大的那个.条件是不得使用if-else等比较和判断运算符. 给定两个int a和b,请返回较大的 ...

  6. 【程序员面试金典】01.01. 判断字符是否唯一

    判定字符是否唯一 实现一个算法,确定一个字符串 s 的所有字符是否全都不同.假使不允许使用额外的数据结构,又该如何处理? 示例 1: 输入: s = "leetcode" 输出: ...

  7. C#LeetCode刷题-程序员面试金典

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-程序员面试金典 | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode程序员面试金典 ...

  8. 程序员面试金典——9.9n皇后问题

    程序员面试金典--9.9n皇后问题 Solution1:我的答案,利用回溯法可做 我的答案就挺好,哈哈哈哈 class Queens { public:int nQueens(int n) {// w ...

  9. 程序员面试金典——18.12最大和子矩阵

    程序员面试金典--18.12最大和子矩阵 Solution1: 参考网址: [1]https://www.cnblogs.com/GodA/p/5237061.html 思想讲的很清楚~ [2]htt ...

  10. 【To Do】程序员面试金典——18.11最大子方阵

    程序员面试金典--18.11最大子方阵 Solution1:我的答案.最笨的方法,时间复杂度是O(n3)O(n3)O(n^3) class SubMatrix { public:int maxSubM ...

最新文章

  1. 转巧用notepad++ 批量转换ansi 和 utf8
  2. mysql将行显示成列_mysql – 在表中将行显示为列
  3. Java使用jfreechart画饼图_jfreechart应用_例题_生成饼状图(展示,生成文件,WEB项目)_可以直接运行...
  4. php xingnengfenxi_PHP 性能分析与实验:性能的微观分析
  5. Rus入门到放弃——字符串与字符切片
  6. AngularJS从入门到实践(一)
  7. android 豆瓣客户端 视频
  8. CDays-3 习题二 (字典及文件读取练习)及相关内容解析。Python 基础教程
  9. 【codevs1553】互斥的数
  10. java random()_JAVA的Random类的用法详解
  11. 手把手教你:安装svn出现could not write value to key的错误
  12. java计算机毕业设计高校墨香文学社管理系统源码+mysql数据库+系统+lw文档+部署
  13. vue项目pc端页面适配
  14. cisco思科交换机的基本使用
  15. javaScript 对象大全 (javascript code al 2)(转转)
  16. 毕业设计超市进销存管理系统源码
  17. Spring+SpringMVC+MyBatis明日方舟版人员信息管理系统前端页面代码前后端交互+SSM框架 管理员登录 游客登录 普通用户登录 人员的增删改查 信息更新 图片上传 分页查询)
  18. 大数据学习零基础能够学会不?
  19. PV270R1K1T1NMMC派克柱塞泵_应用
  20. 云南民大java期中考试_云南省中央民大附中芒市国际学校2017-2018学年高一下学期期中考试英语试题(含听力)...

热门文章

  1. PAT甲级 -- 1106 Lowest Price in Supply Chain (25 分)
  2. 组合和聚合的区别,通俗易懂。
  3. Leecode 869. 重新排序得到 2 的幂——Leecode每日一题系列
  4. 报错:selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This versio
  5. 测试点3错的来:1028 人口普查 (20分)(解题报告)
  6. ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接
  7. 测试点错的来:1024 科学计数法 (20分)
  8. 15行代码AC——Link/Cut Tree CodeForces - 614A(爆long long处理+快速幂讲解)
  9. Docker资源控制与TLS加密通信
  10. shell脚本详解(九)——一键部署DNS正向解析