'(' 与 ')'匹配问题
来源:互联网 发布:部落冲突女巫升级数据 编辑:程序博客网 时间:2024/06/07 06:53
'(' 与 ')'匹配问题:
import java.util.Scanner;import java.util.Stack;public class Main {public static void main(String[] args) {Stack<Character> stack = new Stack<Character>();Scanner read=new Scanner(System.in);String str=read.next();// 如果该String长度为奇数,不匹配if (str.length() % 2 == 1) {//System.out.println("No");stack = new Stack<Character>();for (int i = 0; i < str.length(); i++) {if (stack.isEmpty()) {stack.push(str.charAt(i)); // 当前栈是空的 存入当前位置的字符} else if ((stack.peek() == '(' && str.charAt(i) == ')')) {stack.pop(); // 满足上面的条件 表示相邻的两个字符是一对匹配的括号 进行出栈操作} else {stack.push(str.charAt(i));}}if (stack.isEmpty()) {//System.out.println("Yes");} else {stack.size();System.out.println(stack.size());}} else {stack = new Stack<Character>();for (int i = 0; i < str.length(); i++) {if (stack.isEmpty()) {stack.push(str.charAt(i)); // 当前栈是空的 存入当前位置的字符} else if ((stack.peek() == '(' && str.charAt(i) == ')')) {stack.pop(); // 满足上面的条件 表示相邻的两个字符是一对匹配的括号 进行出栈操作} else {stack.push(str.charAt(i));}}if (stack.isEmpty()) {//System.out.println("Yes");} else {stack.size();System.out.println(stack.size());}}}}
阅读全文
0 0
- '(' 与 ')'匹配问题
- 素数与字符串匹配问题
- 日期匹配与文档排序的问题
- 字符常量与模板匹配问题
- 信与信封问题----------完美匹配
- 解决模块与内核不匹配问题
- eclipse与JVM不匹配问题
- eclipse与JVM不匹配问题
- TComboBox排序匹配与乱码的问题
- CPU与内存频率匹配问题
- Dancing link 与精确匹配问题
- eclipse与jdk不匹配问题
- 应用程序与数据库得匹配问题
- elasticsearch的匹配与排序问题
- 信与信封问题_codevs1222_匹配
- 信与信封问题 最大匹配
- 解决模块与内核不匹配问题
- OpenCV版本与EmguCV版本匹配问题
- 剑指offer 合并2个排序的链表
- Intellij 创建JavaWeb与实现Servlet(创建Servlet模板)
- mysql多表删除
- python3爬虫学习(一)
- Java递归算法要点
- '(' 与 ')'匹配问题
- 绝对路径和相对路径
- Mybatis一级缓存原理
- 初学python:辗转相除法求两个数的最大公约数和最小公倍数
- How to see JavaDoc in IntelliJ IDEA?
- [安卓]Android Studio 3.0 安装 后的 正常的设置的反应(2017.10)
- Jedis客户端分片--构建高可用客户端分片
- 杭电oj2065
- 【分析】浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang)