Leetcode: Palindrome Number

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

思路分析: 回文判断,题目提示不能使用直接转字符串,不能翻转数字。 那只能一个一个取出数字进行比较了。

C++参考代码:

class Solution{public:bool isPalindrome(int x){if (x < 0) return false;if (x == 0) return true;int scale = 1;//标记x的数量级while (x / scale >= 10){scale *= 10;}int left, right;while (x){left = x / scale;//最最左边的数字right = x % ;x -= left * scale;//去掉最左边的数字x /= 10;//去掉最右边的数字scale /= 100;//x的数量级较少两级}return true;}};

C#参考代码:

public class Solution{public Boolean IsPalindrome(int x){if (x < 0) return false;if (x == 0) return true;int scale = 1;while (x / scale >= 10){scale *= 10;}int left = 0;int right = 0;while (x != 0){left = x / scale;right = x % 10;if (left != right) return false;x -= left * scale;x /= 10;scale /= 100;}return true;}}

Python参考代码: 如果使用Python3.x,,请将其中的一般除法/换成floor除法//(两个/表示floor除法)

:if x < 0:x == 0:return Truescale = 1while x / scale >= 10:scale = scale * 10while x != 0:left = x / scaleright = x % 10if left != right:return Falsex = x – left * scalex = x / 10scale = scale /

生气是拿别人做错的事来惩罚自己

Leetcode: Palindrome Number

相关文章:

你感兴趣的文章:

标签云: