23 条题解

  • -3
    @ 2022-12-19 11:43:17

    ``#include using namespace std;

    char str[100]; char i=' '; int x=0; int main() { bool flag=true; while(i!='.') { //输入字符串,char数组可代替string cin>>i; str[x]=i; x++; } for(int i=0;i<x;i++) { if(str[i]!=str[x-i-1]) { 不符合条件舍去

    flag=false;
    }
    }
    if(flag)
    {
    cout<<"TRUE";
    }
    else
    {
    cout<<"FALSE";
    }
    }
    
    
    
    • -8
      @ 2022-8-11 19:52:03

      int s = 0; //统计不相等个数 for (int i = 0; i < s.length() - 1; i++) //如果哪个不相等不是回文。 { if (s[i] != s[s.length() - 2 - i]) { s++; //如果不相等,个数加1 } } if (s == 0) // 没有不相等的就是回文 { cout << "TRUE"; } else { cout << "FALSE"; }

      • -8
        @ 2022-8-6 19:34:38
        //int s = 0; //不需要统计
        short len = s.length(); // .length()的时间复杂度是O(n),定义变量是为了防止无意义重复
        for (short i = 0; i < len - 1; i++) // 不需要int,因为最大是100,short完全够(32767)
        {
            if (s[i] != s[len - 2 - i])
            {
                //s++; //不需要统计
                cout<<"FALSE";
                return 0; // 不相等说明不是回文,直接false然后结束程序就行了
            }
        }
        cout << "TRUE"; // 如果不是回文,必然会在for中输出false并程序结束,程序运行到这说明必定是回文
        

        【入门】判断是否构成回文

        信息

        ID
        99
        时间
        1000ms
        内存
        16MiB
        难度
        4
        标签
        递交数
        2318
        已通过
        1089
        上传者