判断是否是回文数

2023-06-30  本文已影响0人  沉默的小象

leetcode第9题
回文数是指从左往右读和从右往左读,是同一个数字,例如:121是回文数,234不是回文数。
题目:给一个int数,判断是否是回文数。

java版:

public class Test {
    public static void main(String[] args) {
        System.out.println(isPalindrome(121));
        System.out.println(isPalindrome(345));
    }

    public static boolean isPalindrome(int x) {
        String str = x + "";
        char[] array = str.toCharArray();
        for (int i = 0; i < array.length; i++) {
            if (array[i] != array[array.length - 1 - i]) {
                return false;
            }
        }
        return true;
    }
}

输出:

true
false

c语言版:

# include <stdio.h>
# include <stdlib.h> //使用itoa()函数
# include <string.h> //使用strlen函数

int isP(int x);
void printfBool(int result);

void main() {
    printfBool(isP(1001));
    printfBool(isP(1234));
}

int isP(int x) {
    char array[10]= {0};
    itoa(x,array,10); //整数转字符数组
    int length=strlen(array);
    for(int i=0; i<length; i++) {
        if(array[i]!=array[length-1-i]) {
            return 0;
        }
    }
    return 1;
}

void printfBool(int result) {
    if(result==1) {
        printf("true\n");
    } else if(result==0) {
        printf("false\n");
    }
}

输出:

true
false

C++版:

#include<iostream>
using namespace std;
bool isP(int x){
    char array[20];
    itoa(x,array,10);
    int length=strlen(array);
    for(int i=0;i<length;i++){
        if(array[i]!=array[length-1-i]){
            return false;
        }
    }
    return true;
}

int main(){
    cout<<boolalpha<<isP(1001)<<"\n";
    cout<<boolalpha<<isP(1234)<<"\n";
    return 0;
}

输出:

true
false
上一篇 下一篇

猜你喜欢

热点阅读