2017年7月25日 星期二

leetcode-20 Valid Parentheses

題意: 判定括號是否按規則排列

解題思路: stack經典例題,利用C++ STL stack 實現

程式碼如下:


class Solution {
public:
    bool isValid(string s) {
        stack <int> check;
        int len=s.length();
        for(int i=0;i<len;i++)
        {
            if(s[i]=='('||s[i]=='{'||s[i]=='[')
                check.push(s[i]);
            else
            {
                if(check.size()==0)
                    return false;
                if(s[i]==')')
                {
                    if(check.top()=='(')
                        check.pop();
                    else
                        return false;
                }
                else if(s[i]==']')
                {
                    if(check.top()=='[')
                        check.pop();
                    else
                        return false;
                }
                 else
                {
                    if(check.top()=='}')
                        check.pop();
                    else
                        return false;
                }
            }
                    
        }
        if(check.size()!=0)
            return false;
        else
            return true;
    }
};

沒有留言:

張貼留言