leetcode:最长回文子串
2017-09-05 12:33
351 查看
具体介绍略过,这道题暂时只想到暴力的思路,即从头遍历到尾,对于每个字符,寻找以它为中心的最长串,以及以它左边和它为中心的最长串即可,这里讲讲编程的时候遇到的几个地方。
第一个就是,最开始一直输出错误答案,开始以为是判定边界有问题,把s.length()改成s.size(),发现并没有变化,后来上网查了一下,根据c++标准库,length和size函数没有差别,是因为先有的length,后来引入STL,为了保证与STL标准容器接口匹配,又在string类里面加入了size函数。
然后找到了错误的原因,是string不支持两个字符相加,比如
char c1,c2;
....//赋值
string str;
str = c1+c2;
这样是不行的,必须用assign函数先把一个char赋值给str,然后再用+号连接
str.assign(1,c1);
str=curstr+c2;
最后需要注意一点,如果逐个字符判断过去,用时太长肯定会超时,解决办法是找到最长的相同字符组成的子串,然后再在该子串两边开始逐个判断
第一个就是,最开始一直输出错误答案,开始以为是判定边界有问题,把s.length()改成s.size(),发现并没有变化,后来上网查了一下,根据c++标准库,length和size函数没有差别,是因为先有的length,后来引入STL,为了保证与STL标准容器接口匹配,又在string类里面加入了size函数。
然后找到了错误的原因,是string不支持两个字符相加,比如
char c1,c2;
....//赋值
string str;
str = c1+c2;
这样是不行的,必须用assign函数先把一个char赋值给str,然后再用+号连接
str.assign(1,c1);
str=curstr+c2;
最后需要注意一点,如果逐个字符判断过去,用时太长肯定会超时,解决办法是找到最长的相同字符组成的子串,然后再在该子串两边开始逐个判断
相关文章推荐
- 【LeetCode】5.Longest Palindromic Substring 最长回文子串问题
- Leetcode 5. 最长回文子串
- LeetCode 5. Longest Palindromic Substring(最长回文连续子串)
- LeetCode:Longest Palindromic Substring 最长回文子串
- 最长回文子串-LeetCode 5 Longest Palindromic Substring
- [LeetCode系列] 最长回文子串问题
- leetcode第5题,最长回文子串
- [LeetCode] Longest Palindromic Substring 最长回文子串
- LeetCode-5 Longest Palindromic Substring(求最长回文子串)
- LeetCode 5 最长回文子串 Manacher算法
- leetcode-5. Longest Palindromic Substring(寻找最长回文子串)
- 【LeetCode】Longest Palindromic Substring && 【九度】题目1528:最长回文子串(腾讯2013年实习生招聘二面面试题)
- leetcode (5) - Longest Palindromic Substring 最长回文子串
- 【LeetCode004-005算法/编程练习C++】--两个数组的中间数,找出最长回文子串
- LeetCode第5题:最长回文子串
- LeetCode 5 Longest Palindromic Substring(最长回文子串,暴力剪枝/DP/曼彻斯特算法)
- 2014再见 2015你好 【附带】[LeetCode]最长回文子串
- LeetCode5. Longest Palindromic Substring 最长回文子串 4种方法
- [leetcode]5. 最长回文子串
- LeetCode题库解答与分析——#5.最长回文子串LongestPalindromicSubstring