一.调试运行部分
1.类内函数需要实例化对象才能在类外中主函数访问
class Solution;
bool isAnagram(string, string);
class Solution {
public:
bool isAnagram(string s, string t) {
int hash[26] = { 0 };
int s_size = s.length();
int t_size = t.length();
for (int i = 0; i < s_size; i++)
{
hash[s[i] - 'a']++;
}
for (int j = 0; j < t_size; j++)
{
hash[t[j] - 'a']--;
}
for (int i = 0; i < 26; i++)
{
if (hash[i] != 0)return 0;
}
return 1;
}
};
int main() {
string s = "rat";
string t = "cat";
Solution solution;//若缺少这行会报错
int res = solution.isAnagram(s, t);
printf("%d", res);
return 0;
}
二.基础数据结构部分
1.string
string类似C语言中的数组,只是声明操作起来更方便,需要引入iostream头文件
string s0="hello";
string s1="world!";
string s=s0+s1;
printf("%s",s.c_str());
结果是"helloworld!"不会补充空格,可以更方便的实现字符串的拼接,用printf打印时需要用c_str方法将string类型转换成const char*类型,才可打印
string s2;
scanf("%s",s2.c_str());
cin >> s2;
getline(cin,s2);
printf("%s",s2.c_str());
string类型在接收字符串时,可用scanf(也需要用c_str转换类型)和cin,但是遇到空格就会停止读取,而getline函数可读取整行的输入内容,不会被空格打断
string s2;
scanf("%s",s2.c_str());
cin >> s2;
getline(cin,s2);
printf("%s",s2.c_str());
lenth函数可测量字符串长度,substr有两种用法,一个参数与两个参数,上函数运行结果为