[编程题]表达式合法判断
生活随笔
收集整理的這篇文章主要介紹了
[编程题]表达式合法判断
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏈接:
https://www.nowcoder.com/questionTerminal/227893ccf81d4e8589875922f0d9319e?pos=25&mutiTagIds=581&orderByHotValue=1
主要思想:左邊括號的數量和右邊括號的數量一樣就好了
來源:牛客網
說明:原來的牛客網的測試用例是返回true,但是下面的測試用例應該返回false
寫一段代碼,判斷一個包括'{','[','(',')',']','}'的表達式是否合法(注意看樣例的合法規則。)
給定一個表達式A,請返回一個bool值,代表它是否合法。
測試樣例: "[a+b*(5-4)]*{x+b+b*(({1+2)}}" 返回:false // "[a+b*(5-4)]*{x+b+b*(({1+2)}}"public static boolean chkLegal(String A) {Stack<Character> stack = new Stack<>();for(int i=0;i<A.length();i++){if(A.charAt(i)=='['||A.charAt(i)=='('||A.charAt(i)=='{'){stack.push(A.charAt(i));}if(A.charAt(i)==']'||A.charAt(i)==')'||A.charAt(i)=='}'){stack.pop();}}if(stack.isEmpty()){return true;}return false;}主要思想:左邊括號的數量和右邊括號的數量一樣就好了
總結
以上是生活随笔為你收集整理的[编程题]表达式合法判断的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL事务处理与事务隔离(锁机制)
- 下一篇: 一篇文章搞定面试中的二叉树题目(java