题解 | #最长回文子串#

最长回文子串

http://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507

#include <bits/stdc++.h>

using namespace std;

bool isHuiWen(string s){
    //cout << s << endl;
    /*int left = 0, right = s.size() - 1;
    while(left < right){
        if(s[left] == s[right]){
            left++;
            right--;
        }
        else{
            return false;
        }
    }
    
    return true;*/
    
    string tmp = s;
    reverse(tmp.begin(), tmp.end());
    if(tmp == s) return true;
    else return false;
}

int main(){
    string str = "";
    while(cin >> str){
        int res = INT_MIN;
        int right = 0;
        for(int i = 0; i < str.size(); i++){
            right = i;
            while(right < str.size()){
                string tmp = str.substr(i, right - i + 1);
                if(isHuiWen(tmp)){
                    res = max(res, right - i + 1);
                }

                right++;
            }         
        }
        
        cout << res << endl;
    }
    
    return 0;
}
华为题库题解 文章被收录于专栏

牛客华为题库的题解

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 11:16
点赞 评论 收藏
分享
码农索隆:你告诉他,你看他也一般
点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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