题目:实现一个函数,这个函数可以用来判断输入字符串是否为回文。忽略大小写,如Helleh,王中王等。
首先解这题的首要问题是理解回文这个概念,回文的定义是把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环。
分析:
1)既然知道了回文的概念,那么我们很明显的知道这题需要遍历,也明白遍历到回文中间的那个字符的对应索引就可以了
2)然后对前面一半遍历的字符与后面遍历的一半字符进行比较,如果相同就是回文;如果不同就不是回文
3)可是到底该怎么实现遍历前一半字符和后面一半字符呢?这个是该题的主要思路
4)遍历的话,是从索引为0开始的,也就是我们常用到的for循环,定义一个i=0,然后这个i遍历的长度为字符串的一半;这个时候又要分析输入的字符串是奇数个还是偶数个,偶数个好解决,那么奇数个呢?
5)也很好解决,奇数个主要是遍历其+1的一半,例如输入字符串有7个,那么我们原本遍历的i值最终为3,也就是中间的那个,即第四个,刚好的是(7+1)/2=4。
6)那么又有同学会有疑问了,那么偶数个呢?比如输入字符串有8个,也要用(str.length+1)/2的形式吗?这里的回答是:是,为了更优的性能,最好写成同样的形式。那么(8+1)/2不是等4.5吗?这个怎么解决?用parseInt取整和其他取整方式都可以&#