0
点赞
收藏
分享

微信扫一扫

剑指 Offer II 018. 有效的回文

Raow1 2022-04-19 阅读 63

给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。

本题中,将空字符串定义为有效的 回文串 。

示例 1:

输入: s = “A man, a plan, a canal: Panama”
输出: true
解释:“amanaplanacanalpanama” 是回文串

示例 2:

输入: s = “race a car”
输出: false
解释:“raceacar” 不是回文串

这题比较简单,首先,我们对字符串进行处理,然后进行判断。

bool isPalindrome(char * s){
    int s_len=strlen(s);
    int i,j;
    int p=0;
      for(i=0;i<s_len;i++){
       
        if(s[i]>='A'&&s[i]<='Z'){
            s[p++]=s[i]+32;
        }
       else  if(s[i]>='a'&&s[i]<='z'){
         s[p++]=s[i];
       }
        else  if(s[i]>='0'&&s[i]<='9'){
         s[p++]=s[i];
       }
       else continue;

       
    }
     for(i=0;i<p;i++){
       printf("%c ",s[i]);
    }

  //if(p==1)return true;
    for(i=0;i<p/2;i++){
        if(s[i]!=s[p-i-1]) return false;
    }
     return true;

}
举报

相关推荐

0 条评论