欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

新华三:括号匹配

发布时间:2025/5/22 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 新华三:括号匹配 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目:

有表达式:(x+y)*(x-y),验证是否括号匹配,如果括号匹配请输出其括号嵌套深度

 

Java:

1 import java.util.Scanner; 2 import java.util.Stack; 3 4 public class Main { 5 6 public static void main(String[] args) { 7 Scanner sc=new Scanner(System.in); 8 while(sc.hasNext()){ 9 String s = sc.nextLine(); 10 Stack<Character> st = new Stack<Character>(); 11 int num = 0; 12 int count = 0; 13 int i = 0; 14 for(; i < s.length(); i++){ 15 switch (s.charAt(i)) { 16 case '(': 17 st.push(s.charAt(i)); 18 count++; 19 if(count > num){ 20 num = count; 21 } 22 break; 23 case ')': 24 if(!st.isEmpty()){ 25 st.pop(); 26 count--; 27 } 28 else{ 29 i = s.length(); 30 } 31 break; 32 33 default: 34 break; 35 } 36 } 37 38 if((count == 0)&&(i==s.length())){ //现场笔试,少写了后一个判定,这个判定就是为了防止()())这种情况,因为count此时为0 39 System.out.println("完全匹配,最大嵌套数为"+num); 40 } 41 else{ 42 System.out.println("括号不匹配"); 43 } 44 } 45 sc.close(); 46 } 47 48 }

 

转载于:https://www.cnblogs.com/zdtiio/p/7577274.html

总结

以上是生活随笔为你收集整理的新华三:括号匹配的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。