leet-code/longest-substring-without-r.../sol.rs

18 lines
467 B
Rust

use std::collections::HashSet;
impl Solution {
pub fn length_of_longest_substring(s: String) -> i32 {
let bytes = s.as_bytes();
let mut exists = HashSet::new();
let mut max = 0;
let mut p1 = 0;
for p2 in 0..s.len() {
while !exists.insert(bytes[p2]) {
exists.remove(&bytes[p1]);
p1 += 1;
}
max = max.max(exists.len());
}
max as i32
}
}