LeetCode5-Longest Palindromic Substring
来源:互联网 发布:ecshop2.7.3源码下载 编辑:程序博客网 时间:2024/05/18 07:18
【题目】
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000
找出字符串s中的最长回文
【思路】
对字符串进行从左到右顺序遍历;
首先判断当前字符start_index的右侧是否有与其相同的字符串,获取相同部分的长度equalLen,同样为当前最长回文的长度;
其次判断相同回文两端的字符是否相等,若相等,每次回文长度加2;
最后判断当前回文是否比已有的回文长度长,并更新最终结果;
从start_index+equalLen的位置重新开始遍历;
【Java代码】
public class Solution_5_longest_palindrome {public String longestPalindrome(String s){String final_result = "";int start_index = 0;//当前遍历字符位置while(start_index < s.length()){int resultLen = 1;int equalLen = 1;//相同字符的长度while((start_index+equalLen < s.length())&&(s.charAt(start_index+equalLen) == s.charAt(start_index))){equalLen += 1;resultLen += 1;}int palin_start = start_index;//回文的起始坐标int palin_end = start_index+equalLen-1;//回文的结束坐标while((palin_start - 1 >= 0)&&(palin_end +1 < s.length())&&(s.charAt(palin_start - 1) == s.charAt(palin_end +1))){resultLen += 2;palin_start -= 1;palin_end += 1;}if(resultLen > final_result.length())final_result = s.substring(palin_start,palin_end+1);start_index += equalLen;}return final_result;}}
0 0
- LeetCode5:Longest Palindromic Substring
- [LeetCode5]Longest Palindromic Substring
- leetcode5-Longest Palindromic Substring
- leetcode5 Longest Palindromic Substring
- leetcode5 Longest Palindromic Substring
- LeetCode5:Longest Palindromic Substring
- LeetCode5. Longest Palindromic Substring
- leetcode5. Longest Palindromic Substring
- Leetcode5: Longest Palindromic Substring
- LeetCode5. Longest Palindromic Substring
- leetcode5. Longest Palindromic Substring
- leetcode5. Longest Palindromic Substring
- LeetCode5-Longest Palindromic Substring
- LeetCode5. Longest Palindromic Substring
- Longest Palindromic Substring(leetcode5)
- Leetcode5. Longest Palindromic Substring
- leetcode5 Longest Palindromic Substring
- [Java]LeetCode5 Longest Palindromic Substring
- kafka安装及测试
- opencv Mat数据的三种标准访问方式
- 数据表的操作
- SparkSQL中DataFrame常用API
- java核心技术II:随机访问文件
- LeetCode5-Longest Palindromic Substring
- java.lang.StackOverflowError
- 两个栈实现一个队列
- mysql运算符
- Linux基本语法4
- 蓝桥杯十进制转十六进制
- mysql备份与恢复
- 如何将多个DataTable添加到指定的DataSet中
- 图像的膨胀与腐蚀、细化