• 9 验证回文串


    bool isPalindrome(char * s){
        int i,j,len;
        len = strlen(s);
        if(len<=1)       //如果字符串有字符但是只有1个的话符合题目要求,返回true
            return true;
        
        for(i=0,j=len-1;i<j; )
        {
            if(!isalnum(s[i]))    //这个isalnum()是用来判断字符是否为字母和数字,如果是的话返回1,不是返回0
            {
                i++;
                continue;
            }
            
            if(!isalnum(s[j]))
            {
                j--;
                continue;
            }
            
            if(tolower(s[i]) != tolower(s[j]))   //tolower()是把大写字母转换为小写字母的函数,如果非字母的话不做处理
            {
                return false;
            }
            else
            {
                i++;
                j--;
            }
        }
        return true;
    }

    批注:这道题目我一开始的想法也是这样,因为这道题目只考虑字母和数字,只要把符号和空格去掉即可,然后将大写字母转换为小写字母进行判断是和符合回文串。我是把每个部分都自己写,然后发现代码非常累赘。看到网上有直接调用者两个函数的写法让原本的代码变得简洁。而且我一开始也没有考虑到如果只有一个字母的情况

  • 相关阅读:
    使用nacos遇到的一些问题
    nodejs连接redis集群
    redis集群部署
    mongodb集群部署
    Mongodb删除重复数据
    docker exception
    .NET Code WebApi CentOS部署
    .NET Core 在Visual Studio Code的基本操作命令
    Mongodb对内嵌数组的增删改
    System.Web.Optimization
  • 原文地址:https://www.cnblogs.com/181118ljh123/p/11978325.html
Copyright © 2020-2023  润新知