Check for valid parentheses. The characters '(', ')', '{', '}', '[' and ']', must match..

PHOTO EMBED

Fri Apr 29 2022 14:46:06 GMT+0000 (Coordinated Universal Time)

Saved by @fredc ##rust

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

println!("{}", is_valid("()[]{}".to_string()) )

}
content_copyCOPY