回文
• 字符串回文判断:用双指针法,一个指针指向字符串开头,一个指向末尾,同时向中间移动并对比对应字符,若都相等则是回文,只要有一处不等就不是,通过循环实现这个比较过程,还考虑了字符串长度为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;
}
全部评论
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享
02-24 01:06
成都理工大学 Java 点赞 评论 收藏
分享
03-04 10:05
赤峰学院 嵌入式工程师 点赞 评论 收藏
分享
昨天 19:06
同济大学 自然语言处理 点赞 评论 收藏
分享