题目链接:https://leetcode-cn.com/problems/RQku0D/
一、前言
什么是回文字符串?即字符串从前往后的字母顺序和字符串从后往前的顺序一致。一般遇到回文,我们的惯用方法是采取双指针。本题是问我们最多删除一个字符能否变成回文字符串。那思路很相似,就是需要比平常多考虑当字符不相同时,删除前面字符后剩下的字符串或者删除后面字符后剩下的字符串是否回文!具体如下。
二、正题
那用代码如何表达?我们把左指针i放在开头,右指针j放在末尾,当i<j时,判断指针位置上的字母是否相同,如果相同,左指针右移一位,右指针左移一位,否则判断删除其中一个指针对应字符后,该字符串是否回文,如此往复,直到左指针大于右指针。
首先给出正常的判断回文的常规代码,这很好理解。
public boolean validPalindrome(String s , int left ,int right