力ボタン-スタックを使用して有効なカッコかどうかを判断します.
スタックを使用して有効なかっこかどうかを判断
問題源于力扣:https://leetcode-cn.com/probl...
考え方:左の文字に出会って、左の文字をスタック に入れますで右文字が見つかりました. スタックが空の場合、 スタックが空でない場合、スタックの先頭文字をスタックから出て、右文字と一致する 左右の文字が一致しない場合は、 を説明する.左右の文字が一致する場合、次の文字 をスキャンし続けます.
すべての文字をスキャンした後: スタックが空で、 を示します.スタックは空ではありません. を示します.
ソースのダウンロード:gitee
問題源于力扣:https://leetcode-cn.com/probl...
考え方:
require 'Stack.php';
class Solution {
protected static $solution = [
'(' => ')',
'{' => '}',
'[' => ']'
];
/**
*
* https://leetcode-cn.com/problems/valid-parentheses/
*
* @param String $s
* @return Boolean
*/
public function isValid($s) {
$stack = new Stack();
$len = strlen($s);
for($i=0;$ipush($char);
}else{
if($stack->isEmpty()) return false;
$left = $stack->pop();
if($char !== self::$solution[$left]) return false;
}
}
return $stack->isEmpty();
}
}
$solution = new Solution();
$ret = $solution->isValid('([{]}])');
var_dump($ret);
ソースのダウンロード:gitee