• [leetcode]Valid Parentheses


    Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string is valid.

    The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

    #include <iostream>
    #include <string>
    #include <stack>
    #include <map>
    using namespace std;
    class Solution {
    private:
    		map<char,char> pairs;
    		stack<int> pstack;
    public:
    	Solution()
    	{
    		pairs[')'] = '(';
    		pairs['}'] = '{';
    		pairs[']'] = '[';
    	}
        bool isValid(string s) {
    		int len = s.length();
    		if(len%2)return false;
            int i = 0;
    		map<char,char>::iterator it;
    		char sen;
    		for(i = 0; i < len; i++){
    			it = pairs.find(s[i]);
    			
    			if(it == pairs.end()){
    				pstack.push(s[i]);
    				continue;
    			}
    			sen = it ->second;
    			if(!pstack.empty()){
    				char tmp = pstack.top();
    				if(tmp == sen){
    					pstack.pop();
    				}else{
    					return false;
    				}
    			}else{
    				return false;
    			}
    		}
    		if(pstack.empty())return true;
    		return false;
        }
    };
    int main()
    {
    	Solution s = Solution();
    	cout << s.isValid("[{}]{{}()}") << endl;
    	return 0;
    }
    

      

  • 相关阅读:
    16--Box2D使用(二、显示物理世界)
    15--Box2D使用(一、创建物理世界)
    14--物理引擎Box2D
    13--游戏存档
    12--使用背景音乐
    11--瓦片地图(一)简单实用
    border
    LESS
    jquery Ajax
    解决跨域访问
  • 原文地址:https://www.cnblogs.com/zhutianpeng/p/4245314.html
Copyright © 2020-2023  润新知