解题思路:利用栈的基本操作解题,如发现简化思路和bug欢迎大佬指点
注意事项:
参考代码:import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner ms = new Scanner(System.in);
String s = ms.next();
zhan z = new zhan(s.length());
if(isValid(s,z)) System.out.print("YES");
else System.out.print("NO");
}
public static boolean isValid(String s ,zhan z){
for (int i = 0; i < s.length(); i++) {//用一个字符变量c代替s.charAt(i)会看着更简便
if (s.charAt(i) == '(') z.push(')');
if (s.charAt(i)==')') {
if (!z.isEmpty() && z.peak() == s.charAt(i)) z.pop();
else return false;
}
}
return z.isEmpty();
}
}
class zhan{
char []data;
int top;
public zhan(int size) {
this.data =new char[size];
this.top =0;
}
public boolean isEmpty(){
if(top==0) return true;
return false;
}
public void push(char a){
data[top++]=a;
}
public char pop(){
return data[--top];
}
public char peak(){
return data[top-1];
}
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:569 |
妹子杀手的故事 (C语言代码)浏览:690 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2783 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:629 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:968 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:751 |
妹子杀手的故事 (C语言代码)浏览:1233 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1918 |
1035 题解浏览:785 |
交换Easy (C语言代码)浏览:761 |