Keshawn_lu's Blog

Leetcode 242. 有效的字母异位词

字数统计: 228阅读时长: 1 min
2020/11/22 Share

题目简介:

给定两个字符串 st ,编写一个函数来判断 t 是否是 s 的字母异位词。

示例 1:

1
2
输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

1
2
输入: s = "rat", t = "car"
输出: false

说明:
你可以假设字符串只包含小写字母。

思路:

首先遍历s,统计每个字符出现的次数。

然后再遍历t,若相同的字符出现次数不相同,或出现了s中没有的字符,则直接返回false

tip:

  • 两个字符串长度不相同时,直接返回false

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Solution {
public:
bool isAnagram(string s, string t) {

if(s.size() != t.size())
return false;

vector<int> count(26, 0);

for(int i = 0; i < s.size(); i++){

count[s[i] - 'a']++;
}

for(int i = 0; i < t.size(); i++){

count[t[i] - 'a']--;

if(count[t[i] - 'a'] < 0)
return false;
}

return true;
}
};
CATALOG
  1. 1. 题目简介:
  2. 2. 思路:
  3. 3. 代码如下: