给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。
示例 1:
输入: s = "aba"
输出: true
示例 2:输入: s = "abca"
输出: true
解释: 可以删除 "c" 字符 或者 "b" 字符
示例 3:
输入: s = "abc"
输出: false
提示:
1 <= s.length <= 105
s 由小写英文字母组成
思路:
首先直接判断该字符串是不是回文字符串,如果是就输出True;否则再进行删除一个字符能不能满足回文字符串
判断算法: 运用双指针算法思维,从前和后一起判断是否相同,假设字符串数组为s ,i=0,j=s.len()-1,判断s[i]==s[j], 在循环往里面判断,如果不相同,则跳过这个字符,判断是s[i+1]==s[j]或者是s[i]==s[j-1], 代码实现: