leetcode_Valid Anagram_easy
2015-08-08 20:56
459 查看
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.
方法:使用两个map来保持对应的两个字符串的字符个数,对字符个数进行统计,然后遍历两个map看是否完全相同 。
class Solution {
public:
bool isAnagram(string s, string t) {
map<char,int> sMap,tMap;
for(int i=0; i<s.length(); i++)
sMap[s[i]]++;
for(int i=0; i<t.length(); i++)
tMap[t[i]]++;
map<char,int>::iterator sIter,tIter;
sIter=sMap.begin();
tIter=tMap.begin();
while(sIter!=sMap.end() && tIter!=tMap.end() && sIter->first==tIter->first && sIter->second==tIter->second)
{
sIter++;
tIter++;
}
if(sIter==sMap.end() && tIter==tMap.end())
return true;
else
return false;
}
};
For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.
Note:
You may assume the string contains only lowercase alphabets.
方法:使用两个map来保持对应的两个字符串的字符个数,对字符个数进行统计,然后遍历两个map看是否完全相同 。
class Solution {
public:
bool isAnagram(string s, string t) {
map<char,int> sMap,tMap;
for(int i=0; i<s.length(); i++)
sMap[s[i]]++;
for(int i=0; i<t.length(); i++)
tMap[t[i]]++;
map<char,int>::iterator sIter,tIter;
sIter=sMap.begin();
tIter=tMap.begin();
while(sIter!=sMap.end() && tIter!=tMap.end() && sIter->first==tIter->first && sIter->second==tIter->second)
{
sIter++;
tIter++;
}
if(sIter==sMap.end() && tIter==tMap.end())
return true;
else
return false;
}
};
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- Python中map()函数浅析
- 关于指针的一些事情
- Android使用Google Map浅谈
- android上改变listView的选中颜色
- String.intern
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- PostgreSQL ERROR: invalid escape string 解决办法
- C++联合体转换成C#结构的实现方法
- Erlang中的映射组Map详细介绍
- C++编写简单的打靶游戏