关闭

LeetCode Palindrome Number

437人阅读 评论(0) 收藏 举报
分类:

这题上次回家微策略的电面题,也是当时写代码,当时思路混乱没立刻写出来,后来好像说了说想法,想法是对的。忘了是不是当初死在这题上了,现在都无所谓了。

#include "stdafx.h"
#include <iostream>
using namespace std;

bool isPalindrome(int x) {
	if (x<0)
	{
		return false;
	}
	int highbit=1;
	int temp = x;
	temp = temp/10;
	if (temp==0)
	{
		return true;
	}
	while(temp!=0)
	{
		highbit*=10;
		temp/=10;
	}
	const int lowbit=10;
	while(highbit>=lowbit)
	{
		if (x/highbit!=x%lowbit)
		{
			return false;
		}
		x%=highbit;//delete the highest bit
		x/=lowbit;//delete the lowest bit
		highbit/=100;
	}
	return true;
}

int _tmain(int argc, _TCHAR* argv[])
{
	int a;
	while(cin>>a)
	{
		cout<<isPalindrome(a)<<endl;
	}
	system("pause");
	return 0;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:192757次
    • 积分:3939
    • 等级:
    • 排名:第8288名
    • 原创:201篇
    • 转载:56篇
    • 译文:0篇
    • 评论:21条
    最新评论
    导航标签
    http://zhedahht.blog.163.com/blog/#m=0 http://blog.csdn.net/v_july_v/article/details/6015165 程序员编程艺术:http://blog.csdn.net/v_JULY_v/article/details/6460494 剑指offer http://zhedahht.blog.163.com/blog/#m=0