Leetcode:242.有效的字母异位词
编辑
15
2024-06-11
Leetcode题目链接:242. 有效的字母异位词
题目描述
给定两个字符串 s
和 t
,编写一个函数来判断 t
是否是 s
的字母异位词。
注意:若 s
和 t
中每个字符出现的次数都相同,则称 s
和 t
互为字母异位词。
题目示例
示例一
输入: s = "anagram", t = "nagaram"
输出: true
示例二
输入: s = "rat", t = "car"
输出: false
提示
1 <= s.length, t.length <= 5 * 104
s 和 t 仅包含小写字母
解题思路
哈希表(数组形式)
定义大小为26的 num 数组,用于存储 s 和 t 字符串中各个字符出现的次数
for循环遍历字符串 s,对应位置的num[ s[i] - 'a' ]++
for循环遍历字符串 t,对应位置的num[ t[i] - 'a' ]--
遍历num 数组,若存在任一数组元素不为0,则两个字符串中存在不一样的字符,不满足字母异位词的条件,返回false,否则返回true
我的答案
class Solution {
public:
bool isAnagram(string s, string t) {
int num[26];
for(int i = 0; i < s.size(); i++)
num[ s[i] - 'a' ]++;
for(int i = 0; i < t.size(); i++)
num[ t[i] - 'a' ]--;
for(int i = 0; i < 26; i++){
if(num[i] != 0){
return false;
}
}
return true;
}
};
提交结果
- 1
- 0
-
赞助
AliPayWeChat Pay -
分享