leetcode 20 rust

题目

leetcode 20 rust

编程语言

rust

注意点

字符也可以用==,!=

代码

pub fn is_valid(s: String) -> bool {
    let mut p = Vec::new();
    for i in s.chars() {
        match i {
            '[' => p.push(']'),
            '(' => p.push(')'),
            '{' => p.push('}'),
            _ => {
                if p.is_empty() || i != p.pop().unwrap() {
                    return false;
                }
            }
        }
    }
    p.is_empty()
}

测试

#[cfg(test)]
mod tests{
    use super::*;
    #[test]
    fn test_1(){
        assert_eq!(is_valid("()".to_string()),true);
    }
    #[test]
    fn test_2(){
        assert_eq!(is_valid("()[]{}".to_string()),true);
    }
    #[test]
    fn test_3(){
        assert_eq!(is_valid("(]".to_string()),false);
    }
    #[test]
    fn test_4(){
        assert_eq!(is_valid("{[]}".to_string()),true);
    }
}
上一篇:小脚本01(linux关闭防火墙)


下一篇:[Bash] Use Conditional Statements in Bash