有效的括号 - 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)。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容