No. 4一次过且超了90%+,就不记录了。
Palindromic 回文串,指正着读和倒着读都一样的字符串。
思想:
for(int i=0; i<字符串长度; i++) //s.charAt(i)作为回文串中心字符
{
1.找出 "¥aaaaa%" 情况的边界 '¥' 和 '%' ;
2.左边界减1,右边界加1,直到左右边界对应字符不相等(即字符串已不对称,不是回文串了);
3.此时字符串已符合回文串要求,判断字符串是否长度最长。
}
遇到的问题:
Accept没有问题,主要在于处理时间上。LeetCode给的Solution里有一种很类似的思想,但是计算时间更短,区别主要在于思想中的第一步(1.),它采用了两个下标
(i,i+1) //用于判断 "$%#aaaa&*@"(偶数个a) 情况
或者
(i,i) //用于判断 "$%#aaa&*@"(奇数个a) 情况
作为起点,调用同一个函数进行第二步(2.),完成左右边界的扩展。
PS: 我把根据原来思想写的算法尽量封装到外部函数重新实现,效率也有显著的提升......