LeetCode #Palindrome Number#
来源:互联网 发布:ios 判断网络是否可用 编辑:程序博客网 时间:2024/05/17 05:14
LeetCode #Palindrome Number#
又是个软柿子啊...(主要是今天不知道在哪儿看到一个回文的题目了,然后就特地去LeetCode找了一下,还真有,一次性AC的感觉简直不能再爽)
我的Python版本解答:
"""Programmer : EOFE-mail : jasonleaster@gmail.comDate : 2015.04.06File : pn.py"""class Solution: def isPalindrome(self, x): string = str(x) length = len(string) for i in range(0, length): if string[i] != string[length - i - 1] : return False return True#----------- just for testing ----------s = Solution()if s.isPalindrome(123321) : print "is palindrome"
下面是皓神的C++解答:
皓神用了两种方法做解答...写了两个isPalindrome()的实现.
// Source : https://oj.leetcode.com/problems/palindrome-number/// Author : Hao Chen// Date : 2014-06-18/********************************************************************************** * * Determine whether an integer is a palindrome. Do this without extra space.* * * Some hints:* * Could negative integers be palindromes? (ie, -1)* * If you are thinking of converting the integer to string, note the restriction of using extra space.* * You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", * you know that the reversed integer might overflow. How would you handle such case?* * There is a more generic way of solving this problem.* * **********************************************************************************/#include <stdio.h>class Solution {public: bool isPalindrome(int x) { if (x<0) { return false; } int len=1; for (len=1; (x/len) >= 10; len*=10 ); while (x != 0 ) { int left = x / len; int right = x % 10; if(left!=right){ return false; } x = (x%len) / 10; len /= 100; } return true; } bool isPalindrome2(int x) { return (x>=0 && x == reverse(x)); }private: int reverse(int x) { int y=0; int n; while( x!=0 ){ n = x%10; y = y*10 + n; x /= 10; } return y; }};int main(){ Solution s; printf("%d is %d\n", 0, s.isPalindrome(0) ); printf("%d is %d\n", -101, s.isPalindrome(-101) ); printf("%d is %d\n", 1001, s.isPalindrome(1001) ); printf("%d is %d\n", 1234321, s.isPalindrome(1234321) ); printf("%d is %d\n", 2147447412, s.isPalindrome(2147447412) ); printf("%d is %d\n", 2142, s.isPalindrome(2142) );}
0 0
- LeetCode: Palindrome Number
- LeetCode Palindrome Number
- [Leetcode] Palindrome Number
- LeetCode: Palindrome Number
- [LeetCode] Palindrome Number
- leetcode 117: Palindrome Number
- Leetcode : Palindrome Number
- 【leetcode】Palindrome Number
- [LeetCode]Palindrome Number
- LeetCode 9 - Palindrome Number
- LeetCode-Palindrome Number
- [leetcode] Palindrome Number
- LeetCode - Palindrome Number
- LeetCode | Palindrome Number
- Leetcode: Palindrome Number
- LeetCode: Palindrome Number
- 【leetcode】Palindrome Number
- Leetcode Palindrome Number
- 开闭原则与接口编程学习笔记
- Android全屏设置的三种方式
- CSU 1216 异或最大值
- 2.1散点图
- nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around
- LeetCode #Palindrome Number#
- android项目出现红色感叹号、调用API出错的几种解决办法
- 华农校赛E题
- Node.js中JavaScript与C++的数据类型转换(node_0.12, node_4.3)
- Veil:免杀payload生成工具
- 日拱一卒(三十五)
- XML 文件
- vim plugin YouCompleteMe
- 设计模式六大原则(3):依赖倒置原则