1040. Longest Symmetric String (25)

来源:互联网 发布:白鲨外设淘宝店好 编辑:程序博客网 时间:2024/06/01 20:26

题目地址
对于给定字符串(0~s.size()),从1到s.size()-1,向它的两边进行扩展,
对于cabad型以及cabbad型都要考虑。

//// Created by aleafall on 16-11-25.//#include <iostream>#include <algorithm>#include <string>using namespace std;int main() {    string s;    getline(cin, s);    if (s.size() == 1 || s.size() == 2) {        cout << s.size() << endl;    } else {        int ans = 0;        for (int i = 1; i < s.size() - 1; ++i) {            //cabad型            int j = i - 1, k = i + 1;            while (j >= 0 && k < s.size()) {                if (s[j] != s[k]) {                    break;                } else {                    --j;                    ++k;                }            }            ans = max(ans, k - j - 1);            //cabbad型            j = i, k = i + 1;            while (j >= 0 && k < s.size()) {                if (s[j] != s[k]) {                    break;                } else {                    --j;                    ++k;                }            }            ans = max(ans, k - j - 1);        }        cout << ans << endl;    }    return 0;}
0 0
原创粉丝点击