• [编程题-蘑菇街]回文串


    [编程题] 回文串
    给定一个字符串,问是否能通过添加一个字母将其变为回文串。

    输入描述:
    一行一个由小写字母构成的字符串,字符串长度小于等于10。


    输出描述:
    输出答案(YESNO).

    输入例子:
    coco

    输出例子:
    YES
    #include<iostream>
    #include<string>
    using namespace std;
    bool f(string& s, int i)
    {
        int l = 0, r = s.size() - 1;
        if (l == i) l++;
        if (r == i) r--;
        while (l<r)
        {
            if (s[l] != s[r])
                return false;
            l++;
            r--;
            if (l == i) l++;
            if (r == i) r--;
        }
        return true;
    
    }
    int main()
    {
        //string s="jnwbbwnjb";
        string s;
        while (cin >> s)
        {
            int n = s.size();
            if (n == 0 || n == 1) cout << "YES" << endl;
            else
            {
                bool flag = false;
                for (int i = -1; i<n; i++)
                {
                    if (f(s, i))
                    {
                        flag = true;
                        break;
                    }
                }
                cout << (flag ? "YES" : "NO") << endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    JVM五大知识点
    VIM命令
    JVM之GC算法
    SpringMVC之搭建框
    Mybatis之延迟加载机制
    分页查询
    Mybatis之占位符与拼接符
    == 和 equal
    LAMBDA表达式常用 (全)
    Jquery 时间格式化
  • 原文地址:https://www.cnblogs.com/learning-c/p/5743449.html
Copyright © 2020-2023  润新知