Untitled
unknown
php
4 years ago
990 B
21
Indexable
<?php
$valid = '2*([23])';
$invalid = '3+{21()';
function isStrValid(string $str): bool {
$len = strlen($str);
$stack = [];
for ($i = 0; $i < $len; $i++) {
switch ($str[$i]) {
case '(':
$stack[] = 0;
break;
case ')':
if (0 !== array_pop($stack)) {
return false;
}
break;
case '[':
$stack[] = 1;
break;
case ']':
if (1 !== array_pop($stack)) {
return false;
}
break;
case '{':
$stack[] = 2;
break;
case '}':
if (2 !== array_pop($stack)) {
return false;
}
break;
}
}
return empty($stack);
}
var_dump(isStrValid($valid), isStrValid($invalid));Editor is loading...