九章算法面试题78 有效回文串

来源:互联网 发布:java删除指定文件 编辑:程序博客网 时间:2024/06/14 20:22

原文网址:

www.jiuzhang.com

问题描述:

给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。


在线评测本题:

http://www.lintcode.com/zh-cn/problem/valid-palindrome/

解答 :

这道题其实是一道常见的细节考察题,虽然看似不太难,但是却有几个坑点需要考虑,如果能够完整考虑到坑点的话, 那么才能做到写这道题的时候bug free.

从算法细节来说,这道题无非是一道两个指针的题目,指针为对撞型指针, 一个指针指向头,一个指针指向尾,每次比较头指针指向的元素和尾指针指向的元素是否相等,如果一直到头指针和尾指针相遇的时候那么这个字符串就是回文字符串。

你以为这样就解决这道题了么?

其实不然。

还需要考虑的如下几个细节:

遇到非字母和数字只用跳过就好。

字符串有可能是空字符串,所以要考虑空串的情况。

参考代码:

http://www.jiuzhang.com/solutions/valid-palindrome/
0 0
原创粉丝点击