题目简介:
给定两个字符串 s1
和 s2
,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。
示例 1:
1 2
| 输入: s1 = "abc", s2 = "bca" 输出: true
|
示例 2:
1 2
| 输入: s1 = "abc", s2 = "bad" 输出: false
|
说明:
0 <= len(s1) <= 100
0 <= len(s2) <= 100
思路:
若两个字符串长度不相等,直接返回false
。
遍历两个字符串,只要它们的字符及每一个字符的个数是相同的即可。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| class Solution { public: bool CheckPermutation(string s1, string s2) {
if(s1.size() != s2.size()) return false;
int count[26] = {0};
for(int i = 0; i < s1.size(); i++){
count[s1[i] - 'a']++; count[s2[i] - 'a']--; }
for(int i = 0; i < 26; i++){
if(count[i] != 0) return false; }
return true; } };
|