括號配對&&合法性檢測(php語言)
阿新 • • 發佈:2019-02-20
要求:一個字串含有”([{}])”,大中小三種括號;要求判斷該字串的括號是否合法匹配。
寫一個函式:bool is_valid_brackets(string str);
引數是字串
返回值:true或者false;
<?php /** *返回值:Boolean */ function is_valid_brackets($str){ $Symbol = array('('=>')','['=>']','{'=>'}'); $Stack = array();//存放匹配到的括號 foreach(str_split($str) as $key=>$val){ if(in_array($val,array_keys($Symbol))){ array_push($Stack,$val);//壓入陣列 } if(in_array($val,array_values($Symbol))){ if($val != @$Symbol[array_pop($Stack)]){ return false; } } } return empty($Stack)?true:false; } $str = '[}'; var_dump(is_valid_brackets($str));