判断字符串是否回文

来源:互联网 发布:淘宝切图模块切图失败 编辑:程序博客网 时间:2024/05/02 00:34

问题:

给一个字符串,判断该字符串是否是回文。比如 abbc是回文,而abc不是。


思路一:直接在字符串的首尾两端各放置一个指针*front和*back,然后开始遍历整个字符串,当*front不再小于*back时完成遍历。在此过程中,如果出现二者的值不相等,那么就表示不是回文串;如果两个指针指向的字符始终相等就表示该字符串是回文字符串。 时间复杂度:O(n)


思路二:先使用快慢指针确定出字符串的中间位置,然后分别使用两个指针从开中间位置开始向相反的方向扫描,直到遍历完整个字符串。时间复杂度:O(n)


找中间位置的方法:

1、快慢指针;//可参见我的另一篇文章“快慢指针和其简单应用”

2、一种有效的计算方法 //m定位到字符串的中间位置


两种思路的代码如下:



综上所述,虽然上面两种方法采用不同的遍历方式来扫描字符串,但是最终的时间复杂度都是一样,效率基本上是一样的。

转载自:http://blog.csdn.net/duan19920101/article/details/51481348



0 0
原创粉丝点击