有效的括号 - Rust

image.png

image.png

题目解析
采用栈辅助法。

pub fn is_valid(s: String) -> bool {
        let mut stack = vec!['0'];
        for c in s.chars() {
            match c {
                '(' | '{' | '['=>{
                    stack.push(c);
                }, 
                '}' =>{
                    if (stack.pop().unwrap() != '{'){
                        return false;
                    }
                }
                ')' =>{
                    if (stack.pop().unwrap() != '('){
                        return false;
                    }
                },
                ']' =>{
                    if (stack.pop().unwrap() != '['){
                        return false;
                    }
                },
                _ =>(),
            }
        }
        return stack.len() == 1; 
}

复杂度分析:
时间复杂度: O(n)。
空间复杂度: O(n)。

你可能感兴趣的:(有效的括号 - Rust)