《去哪网编程题》表达式合法判断
生活随笔
收集整理的這篇文章主要介紹了
《去哪网编程题》表达式合法判断
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目:[編程題] 表達式合法判斷
時間限制:3秒
空間限制:32768K
寫一段代碼,判斷一個包括’{‘,’[‘,’(‘,’)’,’]’,’}’的表達式是否合法(注意看樣例的合法規(guī)則。)
給定一個表達式A,請返回一個bool值,代表它是否合法。
測試樣例:
“[a+b*(5-4)]{x+b+b(({1+2)}}”
返回:true
解析:利用棧來做,當遇到 ‘{‘, ‘[‘, ‘(’ 等就把當前的括號字符入棧,當遇到 ‘)’ , ‘]’ , ‘}’ 就出棧一個括號字符。最后判斷棧是否為空,??談t表達式合法,否則不合法
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();}}return stack.isEmpty();}總結(jié)
以上是生活随笔為你收集整理的《去哪网编程题》表达式合法判断的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《剑指offer》扑克牌顺序
- 下一篇: 《剑指offer》求1+2+3+...n