[leetcode] 5. Longest Palindromic Substring (Medium)
找到并返回最长回路子串
思路:
解法一:
最简单的双重遍历,判断s[i]到s[j]是不是回串。
Runtime: 610 ms, faster than 6.39% of Java 慢的不行
class Solution {
public String longestPalindrome(String s) {
int len=s.length();
for (int i = 0; i < len; i++) {
int subNum = i + 1;
int subLen = len - i;
for (int j = 0; j < subNum; j++) {
String subStr = s.substring(j, j + subLen);
if (isPalindrome(subStr))
return subStr;
}
}
return "";
}
public boolean isPalindrome(String s){
int beg = 0, end = s.length() - 1;
while(beg<end){
if(s.charAt(beg)!=s.charAt(end))
return false;
beg++;
end--;
}
return true;
}
}
解法二:
遍历一次,以每一个s[i]为中心,计算。
Runtime: 4 ms, faster than 100.00% of Java
class Solution {
int len = 0, maxLength = 0, start = 0;
public String longestPalindrome(String s) {
char[] arr = s.toCharArray();
len = s.length();
if (len <= 1)
return s;
for (int i = 0; i < len; i++) {
i = helper(arr, i);
}
return s.substring(start, start + maxLength);
}
public int helper(char[] arr, int k) {
int i = k - 1, j = k;
while (j < len - 1 && arr[j] == arr[j + 1])
j++;
int nextCenter = j++;
while (i >= 0 && j < len && arr[i] == arr[j]) {
i--;
j++;
}
if (j - i - 1 > maxLength) {
maxLength = j - i - 1;
start = i + 1;
}
return nextCenter;
}
}
[leetcode] 5. Longest Palindromic Substring (Medium)的更多相关文章
- LeetCode(4) || Longest Palindromic Substring 与 Manacher 线性算法
LeetCode(4) || Longest Palindromic Substring 与 Manacher 线性算法 题记 本文是LeetCode题库的第五题,没想到做这些题的速度会这么慢,工作之 ...
- Leetcode 5. Longest Palindromic Substring(最长回文子串, Manacher算法)
Leetcode 5. Longest Palindromic Substring(最长回文子串, Manacher算法) Given a string s, find the longest pal ...
- 蜗牛慢慢爬 LeetCode 5.Longest Palindromic Substring [Difficulty: Medium]
题目 Given a string s, find the longest palindromic substring in s. You may assume that the maximum le ...
- 求最长回文子串 - leetcode 5. Longest Palindromic Substring
写在前面:忍不住吐槽几句今天上海的天气,次奥,鞋子里都能养鱼了...裤子也全湿了,衣服也全湿了,关键是这天气还打空调,只能瑟瑟发抖祈祷不要感冒了.... 前后切了一百零几道leetcode的题(sol ...
- LeetCode 5 Longest Palindromic Substring(最长子序列)
题目来源:https://leetcode.com/problems/longest-palindromic-substring/ Given a string S, find the longest ...
- 【JAVA、C++】LeetCode 005 Longest Palindromic Substring
Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...
- leetcode:Longest Palindromic Substring(求最大的回文字符串)
Question:Given a string S, find the longest palindromic substring in S. You may assume that the maxi ...
- [LeetCode][Python]Longest Palindromic Substring
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com'https://oj.leetcode.com/problems/longest ...
- 【LeetCode】Longest Palindromic Substring 解题报告
DP.KMP什么的都太高大上了.自己想了个朴素的遍历方法. [题目] Given a string S, find the longest palindromic substring in S. Yo ...
随机推荐
- c# 将字符串转换为指定类型的值
private object GetValueByProperty(string key, string value, ref Type typeValue) { Type t = typeof(T) ...
- SQL数据库连接池与C#关键字return
SQL数据库连接池: 先前做的一个Sharepoint项目,在上线后的不久,最近一直出现间歇性访问缓慢问题Sharepoint特性问题,并分析了其数据库服务器,发现所耗内存已经达到了97%. 所以断定 ...
- ***R(TCP over UDP,UDP over TCP)
https://github.com/breakwa11/shadowsocks-rss
- 机器学习经典算法之KNN
一.前言 KNN 的英文叫 K-Nearest Neighbor,应该算是数据挖掘算法中最简单的一种. 先用一个例子体会下. /*请尊重作者劳动成果,转载请标明原文链接:*/ /* https://w ...
- 节能减排到底如何----google earth engine 告诉你!!
(First,再次严谨说明,本人成果未经允许,切勿发表到相关学术期刊,如果有技术交流,qq1044625113,顺便打个广告,兼职GEE开发,欢迎联系!) 终于过了严寒的冬天,2017年的冬天中国南方 ...
- 查看weblgic/Tuxedo/WebSpere(WAS)/Tomcat中间件版本
1.中间件 1.1 Weblogic WebLogic的版本信息.JDK信息.参数配置均可通过控制台查看. 软件版本 [命令]more /weblogic/bea/logs/log.tx ...
- 深入V8引擎-AST(2)
先声明一下,这种长系列的大块头博客只能保证尽可能的深入到每一行源码,有些代码我不乐意深究就写个注释说明一下作用.另外,由于本地整理的比较好,博客就随心写了. 整个Compile过程目前只看到asmjs ...
- Azkaban —— 编译及部署
一.Azkaban 源码编译 1.1 下载并解压 Azkaban 在3.0版本之后就不提供对应的安装包,需要自己下载源码进行编译. 下载所需版本的源码,Azkaban的源码托管在GitHub上,地址为 ...
- java模拟键鼠操作
很久之前百度的,所以忘记了作者,所以仅作为自己的日记纪录在此: package com.robot.test;import java.awt.AWTException;import java.awt. ...
- idea初见问题整理_错误: -source 1.5 中不支持 diamond 运算符
最近在移动工程到idea下,顺便改目录结构,遇到的问题不一定全部记录,有些答案摘抄自别人博客,已注明来源,由于不是摘抄自同一作者,且有自己的一些内容,所以标注为原创. 1.(错误: -source 1 ...