有效的括號(C++實現)

有效的括號(C++實現)

C++中有棧容器,寫起來比上一篇用C語言寫的代碼簡潔了不少

class Solution {
public:
    bool isValid(string s) {
        stack<char> stack;
		
		int len = s.length();
		for (int i = 0; i < len; i++)
		{
			char c = s.at(i);
			if (c == '(' || c == '[' || c == '{')//左字符進棧
			{
				stack.push(c);
			}
			else//右括號
			{
				if (stack.empty())
				{
					return false;
				}
				char left = stack.top();
				stack.pop();

				if (left == '('&&c != ')')
				{
					return false;
				}
				if (left == '['&&c != ']')
				{
					return false;
				}
				if (left == '{'&&c != '}')
				{
					return false;
				}
			}
		
		}
		return stack.empty();
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章