C語(yǔ)言——回文數(shù)
2022-09-07 20:43 作者:新新無(wú)所畏懼 | 我要投稿
題目:
【回文數(shù)】
給你一個(gè)整數(shù)?x
?,如果?x
?是一個(gè)回文整數(shù),返回?true
?;否則,返回?false
?。
回文數(shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù)。
【解題思路】
取給的整數(shù)的一半,此時(shí)先不管是奇數(shù)還是偶數(shù),然后根據(jù)%10,/10,分別取出整數(shù)的右半部分;當(dāng)該數(shù)是奇數(shù)時(shí),可以/10把多余的數(shù)去掉,偶數(shù)則不用去,所以此時(shí)函數(shù)的返回條件即為reverNum==x||x==reverNum/10,是返回true,否則返回false;
【代碼】
bool isPalindrome(int x){
? ? if(x<0||(x%10==0&&x!=0))
? ? {
? ? return false;
}
int reverNum=0;
while(x>reverNum)
{
reverNum=reverNum*10+x%10;
x=x/10;
}
if(reverNum==x||x==reverNum/10)
{
return true;
}
else
{
return false;
}
}
標(biāo)簽: