南朝四百八十寺
多少楼台烟雨中
前言
本题摘自LeetCode第242题,有效的字母异位词,
题目描述
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
事例1:
输入: s = "anagram", t = "nagaram"
输出: true
事例2:
输入: s = "rat", t = "car"
输出: false
解题思想
1.初始化两个数组(理解为哈希表),对应26个英文字母,开始值都为0
int a[26] = {0};
int b[26] = {0};
2.分别遍历s、t字符串的中的字符,给字符在数组中的位置值进行加加操作
3.对比a、b数组中的值是否一致
C语言代码实现
BOOL isVaildAgment(char *s, char *t) {
int lengthS = strlen(s);
int lengthT = strlen(t);
int a[26] = {0};
int b[26] = {0};
for (NSInteger i = 0; i < lengthS; i++) {
int index = s[i]-'a';
a[index] = 1;
}
for (NSInteger i = 0; i < lengthT; i++) {
int index = t[i]-'a';
b[index] = 1;
}
for (NSInteger i = 0; i < 26; i++) {
if (a[i] != b[i]) {
return false;
}
}
return true;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。