From 02481656966b0a8dfc95cf3c22bcc049660ff7d4 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Sat, 26 Dec 2020 17:48:38 +0000 Subject: Move Rust exercises in a subdirectory --- rust/matching-brackets/src/lib.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 rust/matching-brackets/src/lib.rs (limited to 'rust/matching-brackets/src') diff --git a/rust/matching-brackets/src/lib.rs b/rust/matching-brackets/src/lib.rs new file mode 100644 index 0000000..03e39ca --- /dev/null +++ b/rust/matching-brackets/src/lib.rs @@ -0,0 +1,12 @@ +pub fn brackets_are_balanced(string: &str) -> bool { + let mut stack = vec![]; + for c in string.chars() { + match c { + '(' => stack.push(((c as u8) + 1) as char), + '[' | '{' => stack.push(((c as u8) + 2) as char), + ')' | ']' | '}' if stack.pop() != Some(c) => return false, + _ => () + } + } + stack.is_empty() +} -- cgit v1.2.3