Merge pull request #1409 from fmtvar/0020

添加 (0020.有效的括号.md): PHP版本
This commit is contained in:
程序员Carl
2022-06-30 08:37:11 +08:00
committed by GitHub

View File

@ -400,6 +400,37 @@ bool isValid(char * s){
return !stackTop;
}
```
PHP:
```php
// https://www.php.net/manual/zh/class.splstack.php
class Solution
{
function isValid($s){
$stack = new SplStack();
for ($i = 0; $i < strlen($s); $i++) {
if ($s[$i] == "(") {
$stack->push(')');
} else if ($s[$i] == "{") {
$stack->push('}');
} else if ($s[$i] == "[") {
$stack->push(']');
// 2、遍历匹配过程中发现栈内没有要匹配的字符 return false
// 3、遍历匹配过程中栈已为空没有匹配的字符了说明右括号没有找到对应的左括号 return false
} else if ($stack->isEmpty() || $stack->top() != $s[$i]) {
return false;
} else {//$stack->top() == $s[$i]
$stack->pop();
}
}
// 1、遍历完但是栈不为空,说明有相应的括号没有被匹配,return false
return $stack->isEmpty();
}
}
```
Scala:
```scala
object Solution {
@ -422,5 +453,6 @@ object Solution {
}
}
```
-----------------------
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>