当前位置: 首页>后端>正文

有效的括号 - Rust

有效的括号 - Rust,第1张

有效的括号 - Rust,第2张

题目解析
采用栈辅助法。

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)。


https://www.xamrdz.com/backend/3hu1926024.html

相关文章: