网站抄袭,网站建设人员,网站建设考题,semir森马题目
https://leetcode.com/problems/valid-palindrome/
题解
双指针#xff1a;左指针右移过程时跳过非法字符#xff0c;右指针左移时跳过非法字符。 如果左指针大于等于右指针#xff0c;表示有效回文#xff1b;如果两指针所对应的字符如果不等#xff0c;则不是有…题目
https://leetcode.com/problems/valid-palindrome/
题解
双指针左指针右移过程时跳过非法字符右指针左移时跳过非法字符。 如果左指针大于等于右指针表示有效回文如果两指针所对应的字符如果不等则不是有效回文。
var isPalindrome function(s) {const isAlphaOrNumeric (c) (c a c z) || (c 0 c9);s s.toLowerCase();let [left,right] [0,s.length-1]while( left right ) {// 跳过非法字符while(left right !isAlphaOrNumeric(s[left]))left while(right left !isAlphaOrNumeric(s[right]) )right -- // 如果左指针等于右指针表示有效回文if( left right ) {return true}// 如果左指针对应字符 不等于 右指针对应字符表示无效回文if(s[left] ! s[right]){return false}left ;right --;}return true
};