博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode Valid Anagram
阅读量:5822 次
发布时间:2019-06-18

本文共 1190 字,大约阅读时间需要 3 分钟。

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.

 

1 #include 2 #include
3 #include
4 using namespace std; 5 6 class Solution { 7 public: 8 bool isAnagram(string s, string t) { 9 string temp1,temp2,temp3;10 int c1,c2;11 map
dictionary1,dictionary2;12 for(int i=0;i

 看到一个更好的方法:(别人的)

class Solution {public:    bool isAnagram(string s, string t) {        vector
count(26, 0); //全部初始化为0 for(int i = 0; i < s.size(); i ++) count[s[i]-'a'] ++; //把a,b,c转换成下标了- - 不是什么二维,二维应该是vector
> for(int i = 0; i < t.size(); i ++) count[t[i]-'a'] --; for(int i = 0; i < 26; i ++) if(count[i] != 0) return false; return true; }};

 


 

 tips:

 string当然不一定要初始化。

 C++中没有直接判断map是否相等的函数;

 map中有iterator;

 map中的元素是pair,我们可以用first来取关键字,second来取值;

转载于:https://www.cnblogs.com/LUO77/p/4959663.html

你可能感兴趣的文章
Java基础之String,StringBuilder,StringBuffer
查看>>
1月9日学习内容整理:爬虫基本原理
查看>>
安卓中数据库的搭建与使用
查看>>
AT3908 Two Integers
查看>>
渐变色文字
查看>>
C++ 0X 新特性实例(比较常用的) (转)
查看>>
node生成自定义命令(yargs/commander)
查看>>
各种非算法模板
查看>>
node-express项目的搭建并通过mongoose操作MongoDB实现增删改查分页排序(四)
查看>>
如何创建Servlet
查看>>
.NET 设计规范--.NET约定、惯用法与模式-2.框架设计基础
查看>>
win7 64位+Oracle 11g 64位下使用 PL/SQL Developer 的解决办法
查看>>
BZOJ1997:[HNOI2010]PLANAR——题解
查看>>
BZOJ1014:[JSOI2008]火星人prefix——题解
查看>>
使用Unity3D引擎开发赛车游戏
查看>>
HTML5新手入门指南
查看>>
opennebula 开发记录
查看>>
ubuntu 修改hostname
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>