1 条题解

  • 0
    @ 2022-10-9 11:02:47

    1

    #include <bits/stdc++.h>
    using namespace std;
    string s;
    int main()
    {
        cin >> s;
        bool flag = true; //一开始认为回文
        //检查每个对称位置
        for (int i = 0, j = s.length() - 1; i < j; i++, j--)
            if (s[i] != s[j])
            {
                flag = false;
                break;
            }
        if (flag)
            cout << "yes\n";
        else
            cout << "no\n";
        return 0;
    }
    

    2

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        string s;
        cin >> s;
        bool flag = true; // 一开始认为回文
        // 检查每个位置
        for (int i = 0; i < s.length(); i++)
            // i 对应的回文位置为 s.length()-1-i
            if (s[i] != s[s.length() - 1 - i])
            {
                flag = false;
                break;
            }
        if (flag)
            cout << "yes\n";
        else
            cout << "no\n";
        return 0;
    }
    

    3

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        string s;
        cin >> s;
    
        // 处理出逆序之后的 s
        string t;
        t = s;
        for (int i = 0, j = t.length() - 1; i <= j; i++, j--)
            swap(t[i], t[j]);
    
        if (s == t)
            cout << "yes\n";
        else
            cout << "no\n";
        return 0;
    }
    

    4

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        string s;
        cin >> s;
    
        // 处理出逆序之后的 s
        string t;
        t = s;
        reverse(t.begin(), t.end());
    
        if (s == t)
            cout << "yes\n";
        else
            cout << "no\n";
        return 0;
    }
    
    • 1

    信息

    ID
    366
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    (无)
    递交数
    83
    已通过
    62
    上传者