javascript - LeetCode 125:回文数 简易 LeetCode
问题描述
这是我的回答。但是,我无法通过“11”的测试用例。我找不到代码中有什么问题。请帮忙!谢谢!
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function(x) {
if (x === 0) {
return true;
}
if (x < 0 || x % 10 === 0) {
return false;
}
let rev = 0;
while (x > rev) {
pop = x % 10;
x = x / 10;
rev = (rev * 10) + pop;
}
if (x === rev || x === rev / 10) {
return true;
}
else {
return false;
}
};
解决方案
您的问题似乎是LeetCode 9,并且在讨论区中,有一些公认的解决方案,例如:
JavaScript
var isPalindrome = function(x) {
if (x < 0)
return false;
let reversed = 0;
for (let i = x; i > 0; i = Math.floor(i / 10))
reversed = reversed * 10 + i % 10;
return reversed === x;
};
Python
class Solution:
def isPalindrome(self, x):
if x < 0 or (x > 0 and not x % 10):
return False
return str(x) == str(x)[::-1]
爪哇
class Solution {
public boolean isPalindrome(int x) {
if (x < 0 || (x != 0 && x % 10 == 0))
return false;
int reversed = 0;
while (x > reversed) {
reversed = reversed * 10 + x % 10;
x /= 10;
}
return (x == reversed || x == reversed / 10);
}
}
还有另一个类似的 isPalindrome 问题,如果您可能感兴趣,我刚刚在下面复制:
JavaScript我
var isPalindrome = function(s) {
var original = s.replace(/\W/g, ''); // means NON-WORD characters
var reversed = original.split('').reverse().join('');
return original.toLowerCase() == reversed.toLowerCase();
};
JavaScript II
var isPalindrome = function(s) {
var original = s.replace(/[^a-z0-9]/isg, '');
var reversed = original.split('').reverse().join('');
return original.toLowerCase() == reversed.toLowerCase();
};
爪哇
class Solution {
public boolean isPalindrome(String s) {
String original = s.replaceAll("(?i)[^a-z0-9]", "").toLowerCase();
String reversed = new StringBuffer(original).reverse().toString();
return original.equals(reversed);
}
}
Python
class Solution:
def isPalindrome(self, s):
s = ''.join(re.findall(r'(?is)[a-z0-9]+', s)).lower()
return s == s[::-1]
\W
\w
(non-word-character) 匹配任何与(same as )不匹配的单个字符[^a-zA-Z0-9_]
。
参考
您可以在以下链接中找到其他说明:
推荐阅读
- c# - 使用 C# 表单应用程序和 youtube-v3-api 在 Youtube 直播聊天中插入评论
- python - NetworkX / Pandas - 如何将每个节点的社区组输出到 .txt
- angular - 加载具有多个获取请求而不是一个获取请求的角度页面的优缺点是什么?
- python - Django Admin:自动注销和托管问题
- java - System.currentTimeMillis()/1000 如何在 JAVA 中工作
- sql - 版本化数据库记录的数据库设计,多视图和少量更新
- java - 将菜单栏添加到 Gridpane
- html - 如何在电子应用程序中制作圆角
- git - 将现有项目添加到 GitHub
- javascript - Angular.js 6.1.0 - 变量未传递给视图