回文算法题

16 阅读1分钟

1.如何判断一个字符串是回文?

双指针,一个在头,一个在尾,时间复杂度O(N),空间复杂度O(1)

2.最多删除一个字符得到回文?

双指针,一个在头,一个在尾,遇到不同时,删除头指针或尾指针比较剩下的字符是否是回文即可。

3.回文子字符串的个数?

遍历每一个字符,再以该字符为中心,分别向两边发散判断是否是回文,需要注意回文的长度可能是奇数也可能是偶数,所以发散的起点既需要判断当前字符,也需要判断当前字符与相邻字符。