Decode String LeetCode solution in Rust
1impl Solution {2pub fn decode_string(s: String) -> String {3let mut stack: Vec<(usize, String)> = Vec::new();4let (mut n, mut str) = (0, String::new());5for c in s.chars() {6match c {7'[' => {8stack.push((n, str.clone()));9n = 0;10str.clear();11}12']' => {13if let Some(last) = stack.pop() {14str = last.1 + str.repeat(last.0).as_str();15}16}17'0'..='9' => n = n * 10 + (c as u8 - b'0') as usize,18c => str.push(c),19}20}21str22}23}