首页 > 学院 > 开发设计 > 正文

判断字符串是否回文

2019-11-08 02:45:29
字体:
来源:转载
供稿:网友

问题:

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

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

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

找中间位置的方法:

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

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

两种思路的代码如下:

综上所述,虽然上面两种方法采用不同的遍历方式来扫描字符串,但是最终的时间复杂度都是一样,效率基本上是一样的。转载自:http://blog.csdn.net/duan19920101/article/details/51481348


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表