leetcode 009 —— Palindrome Number

原创 2015年07月07日 21:25:45

Determine whether an integer is a palindrome. Do this without extra space.


题意:判断一个整数是否为回文数  

class Solution {
public:
	bool isPalindrome(int x) {

		// if(x==-2147483648)
		if (x<0) return false;
		long long n = x > 0 ? x : (0 - x);
		int cnt = 0;
		long long m = n;
		while (m){				//计算位数
			m = m / 10;
		<span style="white-space:pre">	</span>cnt++;
		}
		if (n < 10)<span style="white-space:pre">	</span>return true;  	//cout << "yes" << endl;							
		while (n){
			long long a = n / pow(10, cnt - 1);    <span style="white-space:pre">	</span>//a代表最高位
			long long b = n % 10;		<span style="white-space:pre">	</span>//b代表最低位
			if (a == b){
				n = n % (int)pow(10, cnt - 1) / 10;
				cnt-=2;
				if (n == 0 && cnt>1)				//考虑到8008 这种情况
					return true;
				if (n < 10 && cnt <= 1)				//考虑到818 这种情况
					return true;				
			}
			else									//cout << "yes" << endl;	
				return false; 
		}
	}
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LeetCode 009. Palindrome Number

Palindrome Number  Total Accepted: 16218 Total Submissions: 55721My Submissions Determine wheth...

leetcode之路009 Palindrome Number

public:     bool isPalindrome(int x) {    if(x<0) return false; else if(x0) { if

【LeetCode-面试算法经典-Java实现】【009-Palindrome Number(回文数)】

【009-Palindrome Number(回文数)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】题目大意  判断一个数字是否是回访字数,不要使用额外的空间。 解题思路  为...

LeetCode 009. Palindrome Number

记录自己的LeetCode刷题过程,总结刷题过程中的心得体会。 注意,LeetCode此题认为负数统一都不是回文数(当然,别的地方可能认为负数也有可能是回文数) 使用了log10()。这就要求里面的...

LeetCode009 Palindrome Number

详细见:leetcode.com/problems/palindrome-number/ Java Solution: github package leetcode; publi...

[LeetCode OJ][009]Palindrome Number

判断一个整数是否是回文。不要使用额外的空间。 一些提示: 负数可以是回文吗?如-1。 如果你考虑转换整数为字符串,要注意空间限制。 你可以尝试反转一个数。在解答[007]Reverse Int...

leetcode第9题——*Palindrome Number

题目 Determine whether an integer is a palindrome. Do this without extra space. click to show spoiler...

《LeetBook》leetcode题解(9):Palindrome Number[E]——回文数字

009. Palindrome Number[E] Palindrome NumberE 问题 思路 思路1 思路2 问题:Determine whether an integer is a pali...

LeetCode之路—— Palindrome Number

题目要求:判断一个整形数字是否是回文,空间复杂度O(1) 思路:题目要求空间复杂度是O(1),那么就不能用将整形转成字符串然后取第一个字符和最后一个字符比较,那么只能取整数的最高位和最低位比较,若相...

LeetCode之路——Palindrome Number

题目要求:判断一个数是否为回文数,空间复杂度:O(1) 思路:因为空间复杂度要求是O(1),所以不能转成字符串然后用第一个和最后一个比较,只能通过取整数的最高位和最低位比较,若相等则去掉最高位和最低...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)