Check If Word Is Valid After Substitutions LeetCode solution in C++
1class Solution {2public:3bool isValid(string s) {4stack<char> st;5for (int i = 0; i < s.length(); i++) {6if (s[i] == 'a')7st.push(s[i]);8else if (s[i] == 'b') {9if (st.empty() || st.top() != 'a')10return false;11else12st.push(s[i]);13} else if (s[i] == 'c') {14if (st.empty() || st.top() != 'b')15return false;16else {17for (int i = 0; i < 2; i++) st.pop();18}19}20}21return st.size() == 0;22}23};