242. Valid Anagram (sort) c++
2018-03-11 14:58
204 查看
Decsription:
Given two strings s and t, write a function to determine if t is an anagram of s.For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.Note:
You may assume the string contains only lowercase alphabets.Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?
给定两个字符串s和t,编写一个函数来确定t是否是s的变体。
注:
可以假定字符串只包含小写字母。
(后续:
如果输入包含Unicode字符怎么办?你将如何使你的解决方案适应这种情况?)
算法思路:
题目的意思是,s 和 t两个字符串所包含的单词数量和每种单词的个数应该是相同的,只不过是位置有所不同。
我们采取的办法是用一个数组记录下 s中的每个字母出现的次数,然后循环 t 字符串 ,出现了哪个字母就把数组中该位置的数组元素的值减一,最后结束两个循环时,若数组所有的元素值都是0的话,则说明满足条件,返回true
class Solution {
public:
bool isAnagram(string s, string t) {
int a[26]={0};
int i;
for(i=0;i<s.length();i++)
a[s[i]-'a']++;
for(i=0;i<t.length();i++)
a[t[i]-'a']--;
for(i=0;i<26;i++)
{
if(a[i]!=0)
return false;
}
return true;
}
};注意:
虽然s 和 t的长度是相等的,但若是把 a[s[i]-'a']++; a[t[i]-'a']--;放在一个循环中就会出现,
Given two strings s and t, write a function to determine if t is an anagram of s.For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.Note:
You may assume the string contains only lowercase alphabets.Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?
给定两个字符串s和t,编写一个函数来确定t是否是s的变体。
注:
可以假定字符串只包含小写字母。
(后续:
如果输入包含Unicode字符怎么办?你将如何使你的解决方案适应这种情况?)
算法思路:
题目的意思是,s 和 t两个字符串所包含的单词数量和每种单词的个数应该是相同的,只不过是位置有所不同。
我们采取的办法是用一个数组记录下 s中的每个字母出现的次数,然后循环 t 字符串 ,出现了哪个字母就把数组中该位置的数组元素的值减一,最后结束两个循环时,若数组所有的元素值都是0的话,则说明满足条件,返回true
class Solution {
public:
bool isAnagram(string s, string t) {
int a[26]={0};
int i;
for(i=0;i<s.length();i++)
a[s[i]-'a']++;
for(i=0;i<t.length();i++)
a[t[i]-'a']--;
for(i=0;i<26;i++)
{
if(a[i]!=0)
return false;
}
return true;
}
};注意:
虽然s 和 t的长度是相等的,但若是把 a[s[i]-'a']++; a[t[i]-'a']--;放在一个循环中就会出现,
time limit exceeded!!
相关文章推荐
- C++ 排序函数 sort(),qsort()的用…
- PAT程序设计考题——甲级1098(Insertion or Heap Sort ) C++实现
- C++ 排序函数 sort(),qsort()的用法
- C++ STL map I don't want it to sort!
- 349. Intersection of Two Arrays (sort) c++ (map方法需学习)
- 对结构体vector进行sort(C++)
- 对结构体vector进行sort(C++)
- c++ sort的用法
- C++ bubber sort
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法----细节决定成败 (sort用法)
- C++ sort()函数简单用法
- C++ 排序函数 sort(),qsort()的含义与用法 ,字符串string 的逆序排序等
- C++里的sort()函数的具体用法
- 【C++】【LeetCode】148. Sort List
- 如何利用C++ vector的sort算法对元素是自定义类型进行排序
- heap_sort-----C++
- 快速排序 C语言的qsort及C++的sort
- 【C++】STL的sort
- c++实现计数排序countingSort及运行实例结果
- 简易递归快排 QuicklySort C++