Longest Absolute File Path LeetCode solution in Rust
1impl Solution {2pub fn length_longest_path(input: String) -> i32 {3let split: Vec<&str> = input.split('\n').collect();45let mut stack: Vec<(usize, &str)> = vec![];6let mut ans = 0;78for s in split {9let mut lvl = 0;10for ch in s.chars() {11if ch == '\t' {12lvl += 1;13} else {14break;15}16}17let fname = &s[(lvl as usize)..];1819while stack.len() > 0 && stack[stack.len() - 1].0 >= lvl {20stack.pop();21}22stack.push((lvl, fname.clone()));2324if fname.contains('.') {25let v = stack26.clone()27.into_iter()28.map(|(_, s)| s.clone().to_string())29.collect::<Vec<String>>()30.join("/");3132ans = ans.max(v.len() as i32);33}34}3536ans37}38}