Rust每日一题(8)---数据结构-字典-valid-anagram
leetcode地址 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram"
输出: true
示例 2:
输入: s = "rat", t = "car"
输出: false
难度: 简单
核心还是分析关键操作步骤,主要有两种思路:
use std::collections::HashMap;
impl Solution {
pub fn is_anagram(s: String, t: String) -> bool {
if s.len() != t.len() {
return false;
}
let mut s_map = HashMap::new();
for c in s.chars() {
let count = s_map.entry(c).or_insert(0);
*count += 1;
}
for c in t.chars() {
let count = s_map.entry(c).or_insert(0);
*count -= 1;
if(*count) < 0 {
return false;
}
}
true
}
}
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!