1 题目描述

判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。

2 思路

假设左括号为  ({[

右括号为  )}]

采用栈来解决该问题,扫描字符串, 当前符号为左括号时,入栈, 当前符号为右括号时候,出栈, 比较当前符号是否与出栈符号匹配,

如果是,则一直执行扫描字符串,入栈,出栈才操作,当扫描完字符串并且栈为空,则字符串匹配

3 java代码

import java.util.HashMap;
import java.util.Map;
import java.util.Stack;public class Exam1 {private String left  = "({["; // 左括号private String right = ")}]"; // 右括号private Stack<Character> stack = new Stack<Character>();private Map<Character,Character> map = new HashMap<Character,Character>();{for(int i = 0 ; i < left.length() ; i++){map.put(left.charAt(i), right.charAt(i));}}public boolean isMatch(String str){if(str==null||str.length()==0) return false;boolean isAddInStack = false;for(int i = 0 ; i < str.length() ; i++){char current = str.charAt(i);if(left.contains(current+"")){isAddInStack = true;stack.push(current);}else if(right.contains(current+"")){if(stack.size()>0){char poll =  stack.pop();if(current!=map.get(poll)){return false;} }}}if(isAddInStack==true&&stack.size()==0) return true;return false;}public static void main(String args[]){String str = "()([{[]}])";Exam1 exam1 = new Exam1();boolean flag = exam1.isMatch(str);System.out.println(flag);}
}

(3) 百度2011研发工程师笔试卷相关推荐

  1. (5) 百度2011研发工程师笔试卷

    1 题目描述 给定两个数A,B(0,100000),求A^B最后三位数是多少 2 思路 * A^B 含义是A的B次方,而不是位运算 异或  * 思路 : A ^ B可能是一个很大的数,但只要求最后三位 ...

  2. (4) 百度2011研发工程师笔试卷

    1 题目描述 仅用o(1)的空间,将整数数组按奇偶数分成2部分,数组坐标是奇数,右边是偶数 2 采用插入排序的思想来解决. 3 java代码 /*** 题目描述:* 仅用o(1)的空间,将整数数组按奇 ...

  3. 【恒生公司2016研发工程师笔试卷选择题分析】

    static局部变量相关知识 静态变量在内存的静态存储区,静态数据一直占有着该存储区单元直到程序结束: 静态局部变量只声明一次,一旦申请内存成功,不再接受重复申请: 静态局部变量的作用域与一般局部变量 ...

  4. 百度2021校招C /PHP研发工程师笔试卷(第一批)

    单选 1.以下代码会发生什么?D #include <iostream> #include <memory> using namespace std; void fun(std ...

  5. 百度2020校招C++/PHP研发工程师笔试卷(第三批)

    单选 1. 下列关于关键路径的叙述中错误的是(D) A 关键路径是指在带权有向图中从源点到汇点的所有路径中具有最大路径长度的路径: B 关键路径上的所有活动都是关键活动,可通过加快关键活动来缩短整个工 ...

  6. 数据分析真题日刷 | 网易2018校园招聘数据分析工程师笔试卷

    七月第一天,希望大家下半年都能「翻身」! 今日真题 网易2018校园招聘数据分析工程师笔试卷(来源:牛客网) 题型 客观题:单选20道:主观题:问答3道 完成时间 120分钟 牛客网评估难度系数 四颗 ...

  7. 网易游戏雷火2020春招web前端工程师笔试卷0425

    网易游戏雷火2020春招web前端工程师笔试卷0425 考试信息 笔试题型 详情 单选 不定项 编程题 问答题 考试信息 招聘单位:网易游戏雷火事业群校园招聘 岗位:前端开发工程师 回复时间:2020 ...

  8. 成都开发者看过来!百度资深研发工程师将出席超级账本成都见面会

    8月17日, 超级账本见面会在成都举办. 百度超级链Xuper作为国内唯一高级会员兼理事会员, 将线下解读国产自研的区块链技术XuperChain, 揭秘已经落地的四大商业化解决方案! (戳阅读原文立 ...

  9. linux研发工程师笔试题,2015-8-29阿里校园招聘研发工程师笔试题

    2015-8-29阿里校园招聘研发工程师笔试题 1. 某团队有2/5的人会写Java程序,有3/4的人会写C++程序,这个团队里同时会写Java和C++的至少有()人 A. 3  B. 4  C. 5 ...

最新文章

  1. c语言编程加密和解密,请问有学长做过这个程序设计的吗?C语言写加密解密问题,跪求代码!...
  2. .net随笔-vb.net打开外部程序发送键盘信号(1)
  3. Centos7安装netstat及简单使用
  4. Apache+PHP环境搭建
  5. python画五角星代码_Python第八课 绘制五角星1.0
  6. Hadoop笔记整理(三):Zookeeper
  7. 关于servlet中出现GET方法不能应用于此url的解决办法
  8. Python list 初始化技巧
  9. swith case
  10. uni-app 引入本地iconfont的正确姿势以及阿里图标引入
  11. 【图解CAN总线】-4-详述CANFD和Classic CAN的Frame帧结构差异
  12. 3月25日E盾网络验证最新修复一机一码E盾网络验证成品源码加密系统
  13. 如何只用HTML创建一个时间计划表?
  14. redis-trib.rb和redis-cli部署redis主从集群的异同
  15. 深入理解GAN对抗生成网络
  16. KingabseES 锁机制
  17. SpringCache-redis缓存学习记录
  18. 使用cmd(命令提示符)打开文件磁盘或者文件夹
  19. MySQL索引优化二
  20. 浅议BGP(一文看懂BGP)

热门文章

  1. 【Python】使用 eval 实现反射
  2. 【Servlet】request对象获取请求头数据和用户数据
  3. 看动画学算法之:栈stack
  4. JDK14性能管理工具:jstat使用介绍
  5. 使用memcache缓存
  6. TCP 可靠传输机制详解
  7. hdu 1086 线段相交
  8. Vue_异步加载_vue-resource(不再维护)
  9. Mysql+Mybatis分页查询——数据库系列学习笔记
  10. 想满分的看这里:1015 德才论 (25分)