zoukankan      html  css  js  c++  java
  • 括号匹配

     1 package com.ceshi.zhongji;
     2 
     3 /*
     4  * 括号匹配打印0,不匹配打印1
     5  * ([]([]))
     6  */
     7 import java.util.ArrayList;
     8 import java.util.List;
     9 import java.util.Scanner;
    10 
    11 public class KuoHao {
    12     public static void main(String[] args) {
    13     Scanner sc = new Scanner(System.in);
    14     String input = sc.nextLine();
    15     KuoHao kh = new KuoHao();
    16     System.out.println(kh.testString(input));
    17     }
    18 
    19     public int testString(String input) {
    20     // 转化成char数组
    21     char[] oldChar = input.toCharArray();
    22     // new一个新数组 存放 "[" "(" ")" "]"
    23     List<Character> list = new ArrayList<>();
    24     // 遍历char数组 如果存在括号 则存入新的char[]中
    25     for (int i = 0; i < oldChar.length; i++) {
    26         if (oldChar[i] == '[' || oldChar[i] == ']' || oldChar[i] == '('
    27             || oldChar[i] == ')') {
    28         list.add(oldChar[i]);
    29         }
    30     }
    31     // 第一个是右括号或者前两个都是直接返回1不匹配。其他情况遍历对每一个左括号其下一个必须为右括号。
    32     // 必须删除所有匹配的,如果有剩余说明有不匹配的。
    33     while(list.size()!=0){
    34         if (list.get(list.size()-2) == '(' && list.get(list.size()-1) == ')') {
    35         list.remove(list.size()-2);
    36         list.remove(list.size()-1);
    37         }
    38         else  if (list.get(list.size()-2) == '[' && list.get(list.size()-1) == ']') {
    39         list.remove(list.size()-2);
    40         list.remove(list.size()-1);
    41         }
    42         else{
    43         break;//不是上述情况都不匹配。
    44         }
    45         
    46     }
    47           if(list.size()>0){
    48               return 1;
    49           }
    50           else{
    51               return 0;
    52           }
    53     }
    54 }
  • 相关阅读:
    [程序员修炼之道]读书笔记
    protobufnet 简介
    提高IIS响应能力
    彻底解决性能问题,就因为一个配置
    2009年12月小记(Split,netstat,SortedList)
    如何在vmwarer中的linux安装lrzsz文件共享工具
    Liunx常用命令
    正则表达式 浅析
    java的final关键字
    JAVA正则表达式 Pattern和Matcher
  • 原文地址:https://www.cnblogs.com/wushuai-study/p/4737396.html
Copyright © 2011-2022 走看看