C++ - 유효한 괄호
class Solution {
public:
bool isValid(string s) {
unordered_map<char, char> bracketHash;
bracketHash['{'] = '}';
bracketHash['['] = ']';
bracketHash['('] = ')';
stack<char> st;
char last;
int checkVal;
if (s.length() == 0)
{
return true;
}
if (s[0] == '}' || s[0] == ']' || s[0] == ')')
{
return false;
}
for (int i = 0; i < s.size(); ++i)
{
if (s[i] == '{' || s[i] == '(' || s[i] == '[')
{
st.push(s[i]);
}
else
{
if (st.empty())
{
return false;
}
else if (s[i] != bracketHash[st.top()])
{
return false;
}
st.pop();
}
}
return st.empty();
}
};
내가 왜 게시하는지 궁금 할 것입니다. 파이썬에서 이것을 해결했다는 것을 알고 있습니다. 그냥 같은 논리를 채택했습니다. 컴퓨터처럼 생각하려면 아직 멀었습니다. 이해하는 시간이 필요합니다. 나는 모든 방법과 그것이 작동하는 이유를 이해하지만 내 머리에서 긴 브래킷을 시뮬레이트하기 위해 루프를 직접 실행하지 않았다는 것을 의미합니다.
Reference
이 문제에 관하여(C++ - 유효한 괄호), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hwangs12/c-valid-parenthesis-29k1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)