[leetcode]Valid Parentheses

1025 단어 LeetCode
간단 한 문제.stack 을 사용 하면 됩 니 다.그러나 처음에는'['와']'의 상황 을 판단 하 는 것 을 잊 었 다.stack 이 비어 있 는 지 판단 해 야 합 니 다.
#include <string>

#include <stack>



using namespace std;



class Solution {

public:

    bool isValid(string s) {

        // Start typing your C/C++ solution below

        // DO NOT write int main() function

        stack<char> st;

    	for (int i = 0; i < s.size(); i++)

		{

			if (s[i] == '(' || s[i] == '[' || s[i] == '{')

			{

				st.push(s[i]);

			}

			else if (s[i] == ')' || s[i] == ']' || s[i] == '}')

			{

                if (st.empty()) return false;

				char c = st.top();

				st.pop();

				if (c == '(' && s[i] != ')') return false;

				if (c == '[' && s[i] != ']') return false;

				if (c == '{' && s[i] != '}') return false;

			}

		}

        if (!st.empty()) return false;

		return true;

    }

};


좋은 웹페이지 즐겨찾기