友情提示:此篇文章大约需要阅读 2分钟41秒,不足之处请多指教,感谢你的阅读。订阅本站
给定一个只包括'(',')','{','}','[',']'
的字符串,判断字符串是否有效。
有效字符串需满足:
示例 1:
输入: "()"
输出: true
示例 2:
输入: "()[]{}"
输出: true
示例 3:
输入: "(]"
输出: false
示例 4:
输入: "([)]"
输出: false
示例 5:
输入: "{[]}"
输出: true
这个题解是根据递归 + PHP 字符串功能函数 str_replace
函数来进行字符替换实现,具体实现如下:
str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) : mixed
该函数返回一个字符串或者数组。该字符串或数组是将 subject
中全部的 search
都被 replace
替换之后的结果。返回结果为字符串类型。
<?php
class Solution {
/**
* @param String $s
* @return Boolean
*/
function isValid($s) {
$s = str_replace(['()', '[]', '{}'], '', $s, $count);
if($count == 0){
return strlen($s)==0;
}else{
return $this->isValid($s);
}
}
}
$str = '()[]}';
echo(new Solution())->isValid($str);
这是我刷算法的 Github 仓库,喜欢的话可以给我一个 star,谢谢。