20. Valid Parentheses

class Solution {

    /**
     * @param String $s
     * @return Boolean
     */
    function isValid($s) {
        $heads = [];
        foreach(str_split($s) as $character) {
            if(in_array($character, ['(', '[', '{'])){
                $heads[] = $character;
            } else if(in_array($character, [')', ']', '}'])) {
                $lastCharacter = array_pop($heads);
                $canClosed = ($lastCharacter === '(' && $character === ')') 
                || $lastCharacter === '[' && $character === ']'
                || $lastCharacter === '{' && $character === '}';
                if (!$canClosed) {
                    return false;
                }
            }  
        }

        return empty($heads);
    }
}

Last updated