题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
1、左括号必须用相同类型的右括号闭合。
2、左括号必须以正确的顺序闭合。
这里我们使用数组
import java.util.Scanner;
public class Main {
public static boolean isValid (String s) {
char[] array = new char[s.length()];
int point = 0;
for(int i=0;i<s.length();i++){
char c = s.charAt(i);
if(c == '(' || c == '{' || c == '['){
array[point] = c;
point++;
}
if(c == ')' && array[point-1] == '(' || c == ']' && array[point-1] == '[' || c == '}' && array[point-1] == '{'){
array[point-1] = ' ';
point--;
}
}
if(point == 0){
return true;
}
return false;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
System.out.println(isValid(s));
}
}