笔试刷题-去哪儿2018-06-26

题目描述:


/**
时间限制:3秒

空间限制:32768K

写一段代码,判断一个包括'{','[','(',')',']','}'的表达式是否合法(注意看样例的合法规则。)

给定一个表达式A,请返回一个bool值,代表它是否合法。

测试样例:
"[a+b*(5-4)]*{x+b+b*(({1+2)}}"
返回:true
*/

思路如下:

维护一个栈即可

代码如下:


class ChkExpression {
public:
    bool chkLegal(string A) {
        // write code here
        stack<char> st;
        for(int i=0; A[i]!='\0'; i++)
        {
            if(A[i]=='{' || A[i]=='[' || A[i]=='(')
                st.push(A[i]);
            else if(A[i]=='}' || A[i]==']' || A[i]==')'){
                    if(st.empty())
                        return false;
                    st.pop();
            }
        }
        return st.empty();
    }
};


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,540评论 25 708
  • 本文参加【世界华语悬疑文学大赛】征稿活动,本人承诺,文章内容为原创。 文/木子 01 “喂,120吗?有人晕倒了,...
    木子色的柚子阅读 539评论 2 7
  • 脑海里念念不忘的一个包又被recall。记得大半年前很少人关注的一家店,就这样默默的壮大了。不管kilikili现...
    Mudadany阅读 230评论 0 2
  • 被树枝剪碎的天空 染上醉人的绯色 与夕阳在云端缠绵
    赤楼阅读 294评论 0 0
  • 随着对自己对他人的了解不断增多,越发的体会到,人内心的真实自有一种力量,一种不表达出来就不舒服的力量,一种本能性的...
    庄鱼阅读 4,459评论 1 0

友情链接更多精彩内容