题解 | #第一个只出现一次的字符# | Rust
第一个只出现一次的字符
https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c
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;
}
}