回文

• 字符串回文判断:用双指针法,一个指针指向字符串开头,一个指向末尾,同时向中间移动并对比对应字符,若都相等则是回文,只要有一处不等就不是,通过循环实现这个比较过程,还考虑了字符串长度为0或1的特殊情况,直接认定为回文。

• 数字回文判断:先分离数字各位存到数组,再利用数组元素构建反转后的数字,最后对比原数字和反转数字是否相等来判断
遇到问题及解决:

• 字符串回文判断:起初忘了处理长度0或1的特殊情况,添加对字符串长度判断逻辑,符合条件就直接返回是回文的结果。

• 数字回文判断:发现有整数溢出风险,后续计划优化此问题,完善处理机制,目前简单测试下没出问题。

#include
#include
#include
using namespace std;

bool isPalindrome(const string& s) {
    return equal(s.begin(), s.end(), s.rbegin());
}

int main() {
    string text = "racecar";
    if (isPalindrome(text)) {
        cout << text << &quot; 是回文。&quot; << endl;
    } else {
        cout << text << &quot; 不是回文。&quot; << endl;
    }
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
03-02 10:51
邵阳学院 Java
红鲤鱼与绿鲤鱼i:看了你的头像不像找工作,像在找妹子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务