struct Solution{
}
impl Solution {
fn new() -> Self {
Solution{}
}
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param str string字符串
* @return int整型
*/
pub fn FirstNotRepeatingChar(&self, str: String) -> i32 {
let mut hash_table = std::collections::HashMap::new();
for c in str.chars() {
if hash_table.contains_key(&c) {
*hash_table.get_mut(&c).unwrap()+=1;
} else {
hash_table.insert(c, 1);
}
}
for (i,c) in str.chars().enumerate() {
if hash_table[&c] == 1 {
return i as i32
}
}
return -1;
}
}

京公网安备 11010502036488号