Php 括号正确嵌套代码练习
我解决了这个练习来检查括号是否正确嵌套, 但在一些测试中失败了,正确率只有33%。 我无法理解代码中的问题在哪里Php 括号正确嵌套代码练习,php,stack,Php,Stack,我解决了这个练习来检查括号是否正确嵌套, 但在一些测试中失败了,正确率只有33%。 我无法理解代码中的问题在哪里 function solution($S) { // write your code in PHP7.0 $string = str_split($S); $stack = []; foreach($string as $value){ switch ($value) { case '{': array_push($stac
function solution($S) {
// write your code in PHP7.0
$string = str_split($S);
$stack = [];
foreach($string as $value){
switch ($value) {
case '{':
array_push($stack,$value);
break;
case '[':
array_push($stack,$value);
break;
case '(':
array_push($stack,$value);
break;
case '}':
if(array_pop($stack) !== '{'){return 0;};
break;
case ']':
if(array_pop($stack) !== '['){return 0;};
break;
case ')':
if(array_pop($stack) !== '('){return 0;};
break;
}
}
return 1;
}
只需在您的
返回1
if (sizeof($stack) != 0) return 0;
您忘记了堆栈中的所有括号都必须缩小才能得到正确的括号字符串。只需在
返回1之前插入以下行即可
if (sizeof($stack) != 0) return 0;
您忘记了堆栈中的所有括号都必须缩小才能得到正确的括号字符串。您不需要代码>结束后}
您不需要代码>结束后}