`
fantasy
  • 浏览: 515363 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

括号匹配

阅读更多
/**
 * 括号匹配
 * 
 * @author fangtengfei
 * @date 2010-5-15
 */
public class ParenthesesMatching {

 public static void main(String[] args) {
  // String c="((((()()))()()())";
  String c = "((((()))))()";
  // String c="(((()()))()()())";
  // String c="()()(())";
  boolean hasMatch = ParenthesesHasMatching(c.toCharArray());
  System.out.println(hasMatch);
 }

 private static boolean ParenthesesHasMatching(char[] charArray) {
  // 括号匹配值,等于0则代表匹配,小于0直接退出,遇到(加1 遇到)-1
  int matchValue = 0;
  for (char c : charArray) {
   if (c == '(') {
    matchValue += 1;
   }
   if (c == ')') {
    matchValue -= 1;
   }
   if (matchValue < 0) {
    return false;
   }
  }
  return matchValue == 0;
 }

}

 

分享到:
评论
2 楼 qq123zhz 2010-05-25  
weijizg 写道
我觉得这个做法是有问题的。如果输入的第一个就是‘)()(’,这个程序也会输出正确

‘)()(’这个我验证了一下,返回false。。
1 楼 weijizg 2010-05-24  
我觉得这个做法是有问题的。如果输入的第一个就是‘)()(’,这个程序也会输出正确

相关推荐

    c++括号匹配问题 c++括号匹配问题

    在C++编程中,括号匹配是一个至关重要的概念,它涉及到程序的正确性与语法合法性。括号匹配通常指的是确保程序中的所有开启括号(如`(`、`[`、`{`)都有对应的关闭括号(`)`、`]`、`}`)。在C++中,括号用于控制代码...

    括号匹配检验_括号匹配检验_括号匹配程序_

    利用栈编写满足下列要求的括号匹配检验程序:假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即([]())或[([][])]等为正确的格式,[(]或([())或(()])均为不正确的格式。输入一个包含上述括号的...

    (c语言)使用循环队列方式判断括号匹配

    在编程领域,括号匹配是一项基础且重要的任务,特别是在处理表达式、代码解析或编译器设计时。本文将深入探讨如何使用C语言和数据结构中的循环队列来实现括号匹配的算法。 首先,我们需要了解什么是循环队列。循环...

    括号匹配C程序

    括号匹配

    括号匹配数据结构论文 括号匹配

    括号匹配数据结构论文 括号匹配是数据结构中的一种重要概念,主要用于验证表达式中的括号是否匹配正确。在本论文中,我们将讨论括号匹配的算法和实现方法,并提供一个使用C语言实现的可运行程序。 一、题目分析及...

    C++写括号匹配堆栈

    在编程领域,括号匹配是一项基础且重要的任务,它涉及到语法分析和编译原理。本题目以"C++写括号匹配堆栈"为标题,旨在通过实现一个程序来检查输入的字符串或文件中的括号是否正确配对。下面将详细讨论相关知识点。 ...

    括号匹配(更加优秀版本)_数据结构括号匹配_

    在数据结构领域,括号匹配是一项基础且重要的问题,它涉及到字符串处理、树形结构以及算法设计。"括号匹配(更加优秀版本)"的主题显然旨在探讨如何以更高效或优化的方式解决这一经典问题。括号匹配通常出现在编译原理...

    数据结构——括号匹配

    数据结构——括号匹配 数据结构中的括号匹配是指在编程中检查输入的括号是否正确匹配的过程。这个过程是基于栈的数据结构实现的。 一、栈的概念 栈是一种基本的数据结构,它遵循先入后出的原则,最后入栈的元素...

    表达式的括号匹配检验问题

    ### 表达式的括号匹配检验问题 #### 一、问题背景及定义 在计算机科学领域,括号匹配是一项常见的编程任务,它涉及到表达式的合法性验证。本问题旨在设计一个程序,该程序能够检查给定表达式中的括号是否正确配对...

    数据结构括号匹配程序c语言

    在编程领域,数据结构是解决问题的关键工具之一,而括号匹配是数据结构中常见的问题,尤其是在解析表达式或处理代码语法时。C语言作为一种强大的、底层的编程语言,被广泛用于编写这类算法。本程序就是一个基于C语言...

    括号匹配检测工具

    目前的工作需要写大量的、很长的、内含很多括号的表达式,需要一个括号匹配检测工具,于是就自己做了一个,也发上来分享一下。 使用说明: 1.将要检查的表达式复制到“请将要检查的表达式复制到该文件.txt”文件内...

    括号匹配 数据结构 MFC

    【括号匹配 数据结构 MFC】是一个利用数据结构——栈(Stack)实现的面向对象程序,主要用于检查并解决括号的正确匹配问题。在编程领域,括号匹配是一个常见的问题,尤其是在解析数学表达式、编译器设计或者文本处理...

    数据结构c语言版栈的应用单括号匹配(实验报告)

    实验报告的主题是“数据结构C语言版栈的应用单括号匹配”,主要目的是通过实现一个程序来检测输入的字符串中的括号是否匹配。该程序利用栈这一数据结构来解决括号匹配问题,它允许括号的嵌套。实验内容包括定义栈的...

    括号匹配java源代码

    括号匹配java源代码 在文本处理中,括号匹配是非常重要的一种操作。括号匹配java源代码就是实现这种操作的命令行程序。该程序使用栈数据结构来实现括号匹配的检测。 栈(Stack) 栈是一种_last in, first out_...

    括号匹配的检验

    括号匹配的检验 括号匹配是数据结构中的一种常见问题,通过使用栈这种数据结构可以实现括号的匹配检验。下面我们将详细介绍括号匹配的算法和实现。 栈的定义 在括号匹配算法中,我们使用栈来存储括号。栈是一种...

    简单编译器(括号匹配)__(源码+设计报告)

    《简单编译器(括号匹配):C++实现与设计原理》 编译器是计算机科学中的核心组件,它负责将高级语言源代码转换为机器可执行的指令。在这个项目中,我们专注于一个特定的任务——括号匹配,这是编译器在语法分析...

    易语言括号匹配算法

    括号匹配算法是程序设计中的基础部分,尤其在解析表达式、编译器和解释器中扮演着至关重要的角色。易语言括号匹配算法源码可以帮助我们理解如何在易语言环境下实现这种算法。 括号匹配问题通常涉及到四种类型的括号...

    数据结构中的括号匹配算法 C语言版

    在计算机科学中,数据结构是组织和管理大量数据的关键组成部分,而括号匹配问题则是数据结构领域中的一个重要问题。括号匹配通常出现在编程语言解析、编译器设计、文本处理和数学表达式计算等场景中。它涉及到如何...

    括号匹配问题 数据结构

    括号匹配问题是一种常见的计算机科学问题,主要涉及数据结构和算法的设计。在编程领域,它经常出现在解析表达式、编译器设计、树结构处理等场景。本问题的核心是检查给定的一组括号(通常是圆括号"()"、方括号"[]"和...

    括号匹配栈的应用

    括号匹配是计算机科学中一个基础且重要的概念,特别是在编译原理、解析技术和算法设计中。这个主题主要关注如何正确地验证一个字符串中左括号(如"{", "(", "[")与右括号("}", ")", "]")的配对性。在本篇文章中,...

Global site tag (gtag.js) - Google Analytics