您的位置:首页 > Web前端 > JavaScript

leetcode(js)-每日一练之 验证回文串Ⅱ 题库编号680

2020-06-04 06:45 169 查看

leetcode(js)-每日一练之 验证回文串Ⅱ

主要思路:

  1. 首先跟题库编号125 验证回文字符串的思路相同
  2. 在left(++)和right(–)指针行进过程中,若比较后发现不同,给一次机会,把left++与right 比较 或 right-- 与left 比较,如果有一个返回true,则次字符串珍惜了这次机会,是一个回文字符串,否则仍不是回文字符串
  3. 为什么不left-- right++呢 ,因为在每次比较 都要确定左右两边的字符数相同,才符合题意
var validPalindrome = function(s) {
function isHui(left, right) {
while (left < right) {
if (s[left] != s[right]) {
return false
}
left++;
right--;
}
return true;
}

let left = 0;
let right = s.length - 1;
while (left < right) {
if (s[left] != s[right]) {
return isHui(left + 1, right) || isHui(left,right - 1);
}
left++;
right--;
}
return true;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: