第30天 写一个方法判断字符串是否为回文字符串
Activity
tiu5 commentedon May 16, 2019
https://leetcode-cn.com/problems/valid-palindrome/
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
大概步骤:
sansini commentedon May 16, 2019
function cheackstr(str){
var reversestr=str.split("").reverse().join("");
if(str===reversestr){
alert("我是回文字符串");
}else{
alert("我不是回文字符串")
}
}
myprelude commentedon Jun 13, 2019
Konata9 commentedon Jul 10, 2019
15190408121 commentedon Sep 21, 2019
0x3c commentedon Mar 8, 2020
gaoryrt commentedon Mar 9, 2020
双指针从头尾往中间遍历,这个效率比前面的回答高多了
ferrinweb commentedon Mar 9, 2020
没有考虑无效字符以及大小写,不过双指针还是高效。
zxl-lxz commentedon Mar 26, 2020
NAZBIN commentedon Jun 3, 2020
const check = s => {
return s === s.split('').reverse().join('');
}
console.log(check('aba'));
blueRoach commentedon Jun 29, 2020
CoderLeiShuo commentedon Aug 8, 2020
把上边各位的答案做了一下总结
题目链接
这个题的关键点在于判断字符串(长度为
n
)的第i
个字符和第(n - 1) - i
字符是否相等方法一
使用for循环进行遍历
方法二
通过数组反转字符,然后再和原字符串进行比较
方法三
双指针遍历,从两边向中间进行遍历。其实和第一种方法中的for循环中if语句的判断条件类似
laboonly commentedon Aug 24, 2020
smile-2008 commentedon Sep 29, 2020
/**
*/
var isPalindrome = function(s) {
if (s.length === 1) return true
const str = s.replace(/[^a-zA-Z0-9]/g, "").toLowerCase()
const strReverse = str.split('').reverse().join('')
return str === strReverse
};
iceCream0311 commentedon Nov 18, 2020
function cheackstr(str) {
str = str.replace(/[^a-zA-Z0-9]/g, '').toLowerCase()
if (str == [...str].reverse().join('')) {
return true
} else {
return false
}
}
ttop5 commentedon Nov 18, 2020
HNHED commentedon Sep 4, 2021
github-cxtan commentedon Feb 23, 2022
var str = '锵咚锵';
function isPalindrome(data) {
if (data.length === 1)
return true;
let str1 = data.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
let str2 = str1.split('').reverse().join('');
return str1 === str2
}
console.log(isPalindrome(str));
xiaoqiangz commentedon May 30, 2022
// 判断是否为回文字符串
var str8 = 'KabcdDcBak'
function isPalindrome(str) {
// 转成小写
str = str.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
// 第一种
// let str1 = str.split('').reverse().join('')
// return str === str1
wenxd commentedon Jun 6, 2022
Sobrium commentedon Sep 16, 2022