palindrome(回文)

valid-palindrome

http://www.nowcoder.com/questionTerminal/b4dc0f1ee20448fca1f387fb1546f43f

很简单的判断是否是回文的题,
英文:palindrome表示回文
可以通过递归的方法,也可以通过直接循环的方法判断。
一、递归(不知道为什么内存超了)

bool is_palindrome(string s,int i,int j){
    if(s[i]!=s[j])return false;
    if(i>=j)return true;
    return is_palindrome(s,i+1,j-1);
}
bool isPalindrome(string s){
    if(s.size()==0)return true;
    string tmp;
    for(int i=0;i<s.size();i++){
        if(s[i]>='0'&&s[i]<='9' ||s[i]>='a'&&s[i]<='z' ||s[i]>='A'&&s[i]<='Z'){
            if(s[i]>='A'&&s[i]<='Z')s[i]=s[i]-'A'+'a';
            tmp+=s[i];
        }
    }
    return is_palindrome(tmp,0,tmp.size()-1);
}

二、循环

bool isPalindrome(string s){
    if(s.size()==0)return true;
    string tmp;
    for(int i=0;i<s.size();i++){
        if(s[i]>='0'&&s[i]<='9'||s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'){
            if(s[i]>='A'&&s[i]<='Z')s[i]=s[i]-'A'+'a';
            tmp+=s[i];
        }
    }
    for(int i=0;i<tmp.size()/2;i++){
        if(tmp[i]!=tmp[tmp.size()-1-i])
            return false;
    }
    return true;
}
全部评论

相关推荐

02-15 14:18
已编辑
江西工程学院 Java
董春花_:个人建议1. 排版极简化,别花花绿绿的。2.专业技能不必要介绍那么详细。什么熟练熟悉精通没必要。按照语言,工具framework等等这种划分一下就行。3.项目介绍的太泛泛了,非常空洞。你新增了什么功能?修改了什么功能?怎么做的? 4.再做个项目放上去吧。 学历不行就只能拼能力了,先有个班上,然后跳。干就完了
Java求职圈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务