算法——回文数练习
直接上代码
Java,这个没有写测试类
class Solution { public boolean isPalindrome(int x) { if(x == 0){ return true; } if(x<0){ return false; } if(x%10==0){ return false; }//根据题目要求,排除一些绝对不是回文数的情况 String s = String.valueOf(x); String re = new StringBuffer(s).reverse().toString();//StringBuffer中的reverse()函数,字符反转 if(s.equals(re)){ return true; }else{ return false; } } }
c++
#include<iostream> using namespace std; class Solution { public: bool isPalindrome(int x) { if (x <= 0 || x % 10 == 0) { return false; } int y = 0; while (x > y) { y = y * 10 + x % 10; x = x / 10; } if (x == y || x == y / 10) { return true; } return false; } }; int main() { Solution p; int x; cin >> x; cout << p.isPalindrome(x) << endl; system("pause"); return 0; }
思路是一样的,但是我认为Java更简单一些,直接使用一个函数就可以解决