NC56. 回文数字
描述
示例1
输入:
121
输出:
true
示例2
输入:
122
输出:
false
C++ 解法, 执行用时: 2ms, 内存消耗: 324KB, 提交时间: 2021-03-27
class Solution { public: bool isPalindrome(int x) { if(x<0 ||x!=0&&x%10==0) { return false; } int reverse=0; while(x>reverse) { reverse=reverse*10+x%10; x=x/10; } return (reverse==x || reverse/10==x); } };
C++ 解法, 执行用时: 2ms, 内存消耗: 328KB, 提交时间: 2021-06-06
class Solution { public: /** * * @param x int整型 * @return bool布尔型 */ bool isPalindrome(int x) { // write code here long x_copy = 0; int tmp = x; while(tmp>0) { x_copy = x_copy * 10 + tmp%10; tmp = tmp / 10; } if(int(x_copy) == x) return true; return false; } };
C++ 解法, 执行用时: 2ms, 内存消耗: 332KB, 提交时间: 2021-06-06
class Solution { public: /** * * @param x int整型 * @return bool布尔型 */ bool isPalindrome(int x) { // write code here vector<int> a; int n=0; if(x<0)return false; while(x){ n++; a.resize(n); a[n-1] = x%10; x/=10; } for(int i=0;i<(n+1)/2;i++){ if(a[i] != a[n-i-1])return false; } return true; } };
C++ 解法, 执行用时: 2ms, 内存消耗: 332KB, 提交时间: 2020-11-18
class Solution { public: /** * * @param x int整型 * @return bool布尔型 */ bool isPalindrome(int x) { // write code here if (x < 0) return false; if (x >= 0 && x <= 9) { return true; } int a = x; int num1 = 0; int num2 = 0; while (a) { num1++; a = a / 10; } while (num1 > 1) { int a1 = x % 10; int a2 = x / pow(10, num1 - 1); if (a1 == a2) { x = x / 10; int a = pow(10, num1 - 2); x = x % a; num1 = num1 - 2; continue; } else { return false; } } return true; } };
C++ 解法, 执行用时: 2ms, 内存消耗: 336KB, 提交时间: 2021-06-05
class Solution { public: /** * * @param x int整型 * @return bool布尔型 */ bool isPalindrome(int x) { // write code here if(x < 0) return false; int reverse = 0; while(x > reverse){ reverse = reverse * 10 + x % 10; x /= 10; } return (x == reverse) || (x == reverse / 10); } };