标签:return int 字母 flag lens 异或 242 false
这个题目主要是要知道啥叫异或词,看了下别人的分析
s="anagram", t="nagaram"
这就属于异位词,长度一样,包含的字母都一样,每个字符出现的频率也一样,只是顺序不同而已
s="rat",t="car"
这种就不属于异位词,因为s中的'r'在t中没有
然后看上面分析卡了一个点,原来两个字符串相同也是属于异或词
不过异或的含义是相同为假,不同为真┗|`O′|┛ 嗷~~!
a | b | a⊕b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
class Solution {
public:
bool isAnagram(string s, string t) {
int lens = s.size();
int lent = t.size();
if(lens != lent)
return false;
if(s == t)
return true;
int flag = 1;
for(int i = 0; i < lens; i++)
if(s[i] != t[i]){
flag = 0;
break;
}
if(flag)
return false;
sort(s.begin(), s.end());
sort(t.begin(), t.end());
for(int i = 0; i < lens; i++)
if(s[i] != t[i])
return false;
return true;
}
};
标签:return,int,字母,flag,lens,异或,242,false 来源: https://blog.csdn.net/AK416A4/article/details/116572562
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。