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