算法——回文数练习

直接上代码

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更简单一些,直接使用一个函数就可以解决

posted on 2022-04-14 22:31  跨越&尘世  阅读(25)  评论(0编辑  收藏  举报