驗證迴文串 題目 解題思路

題目

難度級別:簡單

給定一個字符串,驗證它是否是迴文串,只考慮字母和數字字符,可以忽略字母的大小寫。

說明:本題中,我們將空字符串定義爲有效的迴文串。

示例 1:

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

示例 2:

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

解題思路

這道題因爲js沒有判斷字符串同時包含字母和數字得方法,考慮到更簡單...所以通過正則將字符串保留爲字母(大寫字母轉爲小寫字母用js)和數字之後,使用雙指針法,一頭一尾判斷字符是否相等,若存在不相等時輸出false

const isPalindrome = function(s) {
    s = s.toLowerCase().replaceAll(/[^0-9a-z]/g,"")

    for(let i = 0, j = s.length - 1; i < s.length, j >= 0; i++ , j-- )
        if (s[i] !== s[j]) return false

    return true
};

題目來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/valid-palindrome

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章