LeetCode之验证回文串——JavaScript实现

2019-07-16  本文已影响0人  极奏

题目:

125. 验证回文串

描述:

示例 1:

输入: "A man, a plan, a canal: Panama"
输出: true

示例2:

输入: "race a car"
输出: false

题解

我的想法:

需要注意的项:

toLocalLowerCase()和toLowerCase()方法的选择

toLocalLowerCase()

toLocaleLowerCase()方法返回调用该方法的字符串被转换成小写之后的值,转换规则根据任何本地化特定的大小写映射。toLocaleLowerCase()并不会影响字符串自身的值。在大多数情况下,该方法产生的结果和调用toLowerCase()的结果相同,但是在某些本地环境中,比如土耳其语,它的大小写映射并不遵循在Unicode中的默认的大小写映射,因此会有一个不同的结果。

代码实现
const isPalindrome = function (str) {
    let s = str.replace(/[^a-z0-9]+/ig, '').toLocaleLowerCase()
    const length = s.length / 2
    for (let i = 0, j = s.length - 1; i < length; i++ , j--) {
        if(s[i] !== s[j]){
            return false
        }
    }
    return true
}

LeetCode别人的解法:

思路:
代码实现
var isPalindrome = function(s) {
  s = s.replace(/[^0-9a-zA-Z]/g, "").toLocaleLowerCase();
  let reverse = s
    .split("")
    .reverse()
    .join("");
  return s === reverse;
};
上一篇 下一篇

猜你喜欢

热点阅读