Skip to content

验证回文字符串 #52

@JesseZhao1990

Description

@JesseZhao1990

image

方法一

var isPalindrome = function(s) {
     if(s.length === 0) return true;
     // var newS = s.replace(/\s/g,'').replace(/[^\d\w]/g,'');
     var newS = s.replace(/[^a-zA-Z0-9]/g,'');
     var arr = newS.toLowerCase().split('');
     var len = arr.length;
     var n = Math.ceil(len/2);
    
    for(var i =0;i<n;i++){
         if(arr[i] != arr[len-i-1]) {
            return false;
         }
     }
     return true;
 };

方法二

var isPalindrome = function(s) {
    if(s.length === 0) return true;
    
    var newS = s.replace(/[^a-zA-Z0-9]/g,'');
    var arr = newS.toLowerCase().split('');
    var len = arr.length;
    
    var i = 0;
    var j = len-1;
    
    while(i<=j){
        if(arr[i] != arr[j]) return false;
        i++;
        j--
    }
    return true;
};

方法三


var isPalindrome = function(s){
    if(s.length === 0) return true;
    var newS = s.replace(/[^a-zA-Z0-9]/g,'').toLowerCase();
    return newS.split('').reverse().join('') === newS;
}

leetcode原题地址: https://leetcode-cn.com/problems/valid-palindrome/

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions