• 算法练习——字符串


    一确定字符串是否包含唯一字符

    1.1涉及知识点 

    c++的输入输出语法

    1. cin>>s;
    2. cout<<"NO";

    如何定义字符串

    切记:在[]中必须加数字——字符串最大长度,不然编译不通过

    char s[101];

    如何获取字符串长度

    1. char s[101];
    2. cin>>s;
    3. int n=strlen(s);

    1.2题解

    思路

    先定义一个字符数组,再利用双重for循环将字符一个个比较,如果相等就输出NO,提前结束循环

    代码

    1. #include
    2. #include
    3. using namespace std;
    4. int main()
    5. {
    6. // 请在此输入您的代码
    7. char s[101];
    8. cin>>s;
    9. int i=0;
    10. int j=0;
    11. int n=strlen(s);
    12. for(i;i
    13. for(j=i+1;j
    14. if(s[i]==s[j]){
    15. cout<<"NO";
    16. return 0;
    17. }
    18. }
    19. }
    20. cout<<"YES";
    21. return 0;
    22. }

    二、确定字符串是否是另一个的排列

    2.1涉及知识点 

    1. 字符串排序函数sort

    sort函数用于C++中,对给定区间所有元素进行排序。头文件是#include

    函数原型如下

    sort(first_pointer, first_pointer + n, cmp)


    此函数有3个参数:

    第一个参数是要排序的数组的起始地址。
    第二个参数是结束的地址(最后一位要排序的地址的下一地址)
    第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
    如果要改为从大到小排序,需要加一个函数compare

    1. 字符串比较函数strcmp

    strcmp 函数从两个字符串的开头开始,逐个字符地进行比较。它使用ASCII值来比较对应的字符

    int strcmp(const char *str1, const char *str2);
    • 如果 str1 小于 str2,则返回值小于 0。
    • 如果 str1 大于 str2,则返回值大于 0。
    • 如果 str1 和 str2 相等,则返回 0

    2.2题解

    思路

    先将两字符进行排序(使用sort函数),在进行两字符串的比较(利用strcmp函数)

    代码

    1. #include
    2. #include
    3. #include
    4. using namespace std;
    5. int main()
    6. {
    7. // 请在此输入您的代码
    8. char str1[101];
    9. char str2[101];
    10. cin>>str1;
    11. cin>>str2;
    12. int n=strlen(str1);
    13. int m=strlen(str2);
    14. if(n==m){
    15. sort(str1,str1+n);
    16. sort(str2,str2+m);
    17. if(strcmp(str1,str2)!=0){
    18. cout<<"NO";
    19. return 0;
    20. }
    21. }else{
    22. cout<<"NO";
    23. return 0;
    24. }
    25. cout<<"YES";
    26. return 0;
    27. }

  • 相关阅读:
    C++语法基础
    Spring boot接收zip包并获取其中excel文件的方法
    设计模式-组合模式
    MCU如何选型?
    iOS端如何实现MobLink的场景还原功能
    航顺主流替代型HK32F103系列
    Facebook注册失败?速看最新注册指南
    Python用27行代码绘制一幅满天星
    Promise的链式调用
    springboot整合MeiliSearch轻量级搜索引擎
  • 原文地址:https://blog.csdn.net/m0_74206393/article/details/139304158