zoukankan      html  css  js  c++  java
  • OJ——华为编程题目:输入字符串括号是否匹配

    package t0815;
    /*
     * 华为编程题目:输入字符串括号是否匹配
     * 若都匹配输出为0,否则为1
     * 样例输入:Terminal user [name | number (1)]
     * 样例输出:0
     * Java版本
     */
    /*
     * 个人总结:
     * (1)语法上Java的输入Scanner使用
     * (2)char[] arr=mxf.toCharArray()的使用,将输入的字符串转成字符数组;这样就可以一个
     *     一个的遍历
     * (3)算法上,这里使用了经典的入栈和出栈的思想
     * 
     */
    
    import java.util.Scanner;
    import java.util.Vector;
    
    public class huawei_StringMatching {
        public static void main(String[] args){
            System.out.println("请按照规格输入字符串");
            Scanner ScStr=new Scanner(System.in);
            String sqy = ScStr.nextLine();    
            
            System.out.print(Check(sqy));        
        }
        public static int Check(String mxf){
            int count=0;
            int flag=1;
            char[] arr=mxf.toCharArray();    
            Vector<Character> vec=new Vector<Character>();
            for(int j=0;j<arr.length;j++){
                if(arr[j]=='(')
                    {vec.add(arr[j]);count++;} //入栈,并且计数加1
                if(arr[j]=='[')
                    {vec.add(arr[j]);count++;}//入栈,并且计数加1
                if(arr[j]==']'){
                    if(vec.elementAt(count-1)=='[')
                    {vec.remove(count-1);count--;}//出栈,并且计数减1
                }            
                if(arr[j]==')'){
                    if(vec.elementAt(count-1)=='(')
                        {vec.remove(count-1);count--;}////出栈,并且计数减1
                }
            }
            if(vec.isEmpty())
                flag=0;  // 如果为空,说明可以正确匹配
            return flag;
        }
        
        
    }

    结果:

    请按照规格输入字符串
    Terminal user [name | number (1)]
    0

  • 相关阅读:
    LAMP的搭建
    linux利用命令重置大量密码
    CSS的应用下
    Day13 CSS的与应用
    Day12 CSS简单用法
    Day12 前端html
    Day11 数据库的基本语法(偏重于查询)
    Java-->把txt中的所有字符按照码表值排序
    Java-->将txt文件的所有行反转
    Java-->在txt文件每一行前加行数和冒号
  • 原文地址:https://www.cnblogs.com/snowwhite/p/4734304.html
Copyright © 2011-2022 走看看