From ca5b4c5d510c1d0c1251b2a750c659872c561de2 Mon Sep 17 00:00:00 2001 From: Daniel Ghenov <47058577+Daniel-Ghenov@users.noreply.github.com> Date: Mon, 11 Nov 2024 23:37:37 +0200 Subject: Add files via upload --- Practicum/pract06/solutions/Task 01.cpp | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Practicum/pract06/solutions/Task 01.cpp (limited to 'Practicum/pract06/solutions/Task 01.cpp') diff --git a/Practicum/pract06/solutions/Task 01.cpp b/Practicum/pract06/solutions/Task 01.cpp new file mode 100644 index 0000000..738b769 --- /dev/null +++ b/Practicum/pract06/solutions/Task 01.cpp @@ -0,0 +1,35 @@ +#include +#include + +class Solution +{ +public: + bool isValid(std::string s) + { + std::stack open; + + for (char ch : s) + { + if (ch == '(' || ch == '{' || ch == '[') + { + open.push(ch); + } + else + { + if (open.empty()) + return false; + + if ((open.top() == '(' && ch == ')') || + (open.top() == '{' && ch == '}') || + (open.top() == '[' && ch == ']')) + { + open.pop(); + continue; + } + return false; + } + } + + return open.empty(); + } +}; \ No newline at end of file -- cgit v1.3.1-23-gd82d