Skip to content

Instantly share code, notes, and snippets.

@vitkarpov
Last active January 31, 2021 15:24
Show Gist options
  • Save vitkarpov/e3fd3840e48ad693a9be0feba93cfe20 to your computer and use it in GitHub Desktop.
Save vitkarpov/e3fd3840e48ad693a9be0feba93cfe20 to your computer and use it in GitHub Desktop.
Правильная скобочная последовательность (t.me/coding_interviews)
function isValid(s) {
const brackets = {
')': '(',
']': '[',
'}': '{'
};
// в качестве стека в JavaScript можно использовать обычный массив
//(если пользоваться только «разрешенными» методами push & pop)
const st = [];
for (let i = 0; i < s.length; i++) {
if (isClosedBracket(s[i])) {
if (brackets[s[i]] !== st.pop()) return false;
// это открывающая скобка, т.к. других символов по условию в строке нет
} else {
st.push(s[i]);
}
}
return st.length === 0;
}
function isClosedBracket(ch) {
return [')', ']', '}'].indexOf(ch) > -1;
}
@vitkarpov
Copy link
Author

vitkarpov commented Jan 31, 2021

@acanthis делал разбор этой задачи, там код правильный, фух. А то было б совсем странно 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment