java实现“有效的括号”

import java.util.Scanner;

/**
 * 有效的括号
 */
public class EffectiveBracket {
    public static void main(String[] args) {
        System.out.println("请输入括号(,),{,},[,]组合:");// 提示输入括号
        String string = new Scanner(System.in).nextLine();// 接收输入值
        System.out.println("输入的括号是否成对有效:"+isTrue(string));// 调用方法,返回Boolean值
    }
    public static boolean isTrue(String string){
    	if (string.length() <= 1) return false; // 长度为1或空,直接false
        char[] charArray = new char[string.length()];// 根据输入的string长度创建字符数组
        int index = 0;// 索引下标
        for (char c : string.toCharArray()){// 增强for
            if (c == '(' || c == '{' || c=='['){// 是,则添加,索引下标先用后自加
                charArray[index++] = c; //添加进数组
            }else{
                index--;// 自减
                if (index < 0) return false; //不能出现负数,否则,直接false
                if (c == ')' && charArray[index] != '('){// 判断是否配对
                    return false;// 否,返回false
                }else if (c == '}' && charArray[index] != '{'){
                    return false;
                }else if (c == ']' && charArray[index] != '['){
                    return false;
                }
            }
        }
        if (index == 0) return true; //刚刚好为零,则为true
        else return false;//其他,都为false
    }
}

你可能感兴趣的:(LeetCode)