回文
• 字符串回文判断:用双指针法,一个指针指向字符串开头,一个指向末尾,同时向中间移动并对比对应字符,若都相等则是回文,只要有一处不等就不是,通过循环实现这个比较过程,还考虑了字符串长度为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 << " 是回文。" << endl;
} else {
cout << text << " 不是回文。" << endl;
}
return 0;
}
• 数字回文判断:先分离数字各位存到数组,再利用数组元素构建反转后的数字,最后对比原数字和反转数字是否相等来判断
遇到问题及解决:
• 字符串回文判断:起初忘了处理长度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 << " 是回文。" << endl;
} else {
cout << text << " 不是回文。" << endl;
}
return 0;
}
全部评论
相关推荐
耶比:哲学上有一个问题,玛丽的房间:玛丽知道眼睛识别色彩的原理知道各种颜色,但是她生活在黑白的房间里,直到有一天玛丽的房门打开了她亲眼看到了颜色,才知道什么是色彩。我现在最大可能的减少对非工作事情的思考,如果有一件事困扰了我, 能解决的我就直接做(去哪里或者和谁吵架等等……),解决不了的我就不想了,每一天都是最年轻的一天,珍惜今天吧
点赞 评论 收藏
分享