#include <iostream>
#include <stack>
int main() {
std::string s = "()"; // Input
std::stack<char> stack_;
for (int i=0; i < s.length(); i++) {
if (s[i] == stack_.top()) {
stack_.pop();
}
if (s[i] == '(') {
stack_.push(')');
}
if (s[i] == '{') {
stack_.push('}');
}
if (s[i] == '[') {
stack_.push(']');
}
else {}
}
while(!stack_.empty()) {
std::cout << stack_.top() << std::endl;
stack_.pop();
}
return 0;
}
Я довольно новичок в C ++ и пытаюсь улучшить, задавая вопрос на LeetCode.com каждый день. Сначала я тестирую свой код в CLion, что приводит к ошибке «Процесс завершен с кодом завершения 11» для этого кода. Вопрос, который я пытаюсь решить: https://leetcode.com/problems/valid-parentheses/
Это просто тестовый код, в котором я изменяю ввод строки s, и моя стратегия состоит в том, чтобы заключать типы скобок в затем стек очищает их, если соответствующая закрывающая скобка является следующим символом, а затем, если в конце стека пусто, строка проходит тест.
Я считаю, что код выхода 11 является ошибкой утечки памяти или сегментации ошибка, но я не могу понять, где точно определить, где это может произойти, посмотрев на мой код. Любая помощь будет принята с благодарностью. Спасибо!