lintcode_学习笔记_回文数

第一次用lintcode才知道不用写主函数,并且右侧有代码要求

开始没有细看右侧东西,写了一个非bool函数的程序,

#include<iostream>
#include<string.h>
using namespace std;

char a[100000];
int flag = 1;

void huiwenshu()
{
	
	int b, c;
	for(b = 0; b < strlen(a)/2; b++)
		{	
			if(a[b] != a[strlen(a)-b-1])
				flag = 0;
				break;
		}
}

int main()
{	
	cin>>a;
	huiwenshu();
	if(flag == 0)
		cout<<"这个数不是回文数"<<endl;
	else 
		cout<<"这个数是回文数"; 
	return 0;
}

然而回网站看了半天,发现要用bool类型的函数提交,那么最简单的方法就是将这个数的顺序进行颠倒,那么我们首先想到用%10、/10、*10等手段分别去除各位、十位、百位……,将此数倒置过来

 bool isPalindrome(int num) {
        // write your code here
        long int temp = num;
        long int a = 0;

        while(temp != 0) {
            a = a * 10 + temp % 10;
            temp = temp / 10;
        }

        if (a == num) {
            return true;
        }

        return false;
    
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值