给定一个只包括
'('
,
')'
,
'{'
,
'}'
,
'['
,
']'
的字符串,判断字符串是否有效。
解题思路:首先将输入的字符串存放到数组中,如果字符的个数为奇数则一定不匹配;定义一个栈并将字符压栈,判断栈顶元素是否为三种闭括号的其中一种,如果是则弹出栈顶元素并将其放入另一个数组,再判断栈顶元素是否和数组中闭括号匹配,若匹配则继续,若不匹配返回false; 将所有的符号压入并弹出时返回true.
import java.util.Scanner;
import java.util.Stack;
public class Test {
//给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
Test t = new Test();
System.out.println(t.isValid(s));
}
public boolean isValid(String s) {
char[] arr = s.toCharArray();
if(arr.length%2!=0) return false;
char[] a=
版权声明:本文为lemonwen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。