你的位置:首页 > 软件开发 > Java > 粗看表达式合法判断

粗看表达式合法判断

发布时间:2017-03-13 00:00:32
今天在牛课网上做了一道去年去哪网的线上笔试题,就是表达式合法判断的问题,很基础一个题目,考察栈的应用。结果做了一个上午测试用例总是不能完全通过,细看题目原来人家是这样要求的 并没有要求左右括号严格匹配,瞬间无语,做题之前还是要认真把题目读懂。 ...

粗看表达式合法判断

      今天在牛课网上做了一道去年去哪网的线上笔试题,就是表达式合法判断的问题,很基础一个题目,考察栈的应用。结果做了一个上午测试用例总是不能完全通过,细看题目原来人家是这样要求的

       粗看表达式合法判断

 并没有要求左右括号严格匹配,瞬间无语,做题之前还是要认真把题目读懂。

 下面粘出答案

 1 //表达式合法的判断 -- 栈 2   public static boolean chkLegal(String A) { 3     Stack<Character> left = new Stack<Character>(); 4     for(int i =0; i<A.length(); i++){ 5       char c = A.charAt(i); 6       if(c=='{' || c=='[' || c=='('){ 7         left.push(c); 8       } 9       //没有要求左右括号严格匹配 10       if(c=='}' || c==']' || c==')'){11         if(left.isEmpty()){ //右括号多出不合法12           return false;13         }else{14           left.pop();15         }16       }17     }18     if(!left.isEmpty()){ //左括号多出不合法19       return false;20     }21     return true;22   }

原标题:粗看表达式合法判断

关键词:表达式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。