- 浏览: 184684 次
- 性别:
- 来自: 济南
文章分类
最新评论
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.
题目的要求是给定一个字符串,找到一个最长的回文子串。
解决这道题首先我们要知道回文字符串的概念,单个字符属于回文字符串,例如"a", 还有另外的形式例如:“baab”, "bab",其中"bab"包括了单个字符的情况,这两种形式的字符串都是回文字符串。我们可以采用一种中心扩散法来处理这道题,因为有两种不同的形式,因此我们用两种不同的中心扩散法。代码如下:
题目的要求是给定一个字符串,找到一个最长的回文子串。
解决这道题首先我们要知道回文字符串的概念,单个字符属于回文字符串,例如"a", 还有另外的形式例如:“baab”, "bab",其中"bab"包括了单个字符的情况,这两种形式的字符串都是回文字符串。我们可以采用一种中心扩散法来处理这道题,因为有两种不同的形式,因此我们用两种不同的中心扩散法。代码如下:
public class Solution { public String longestPalindrome(String s) { if(s == null) return ""; int start = 0; int end = 0; int max = 0; for(int i = 0; i < s.length(); i++) { //对应"aba"这种形式的字符串 int left = i; int right = i; while(left > -1 && right < s.length() && s.charAt(left) == s.charAt(right)) { left --; right ++; } if(max < right - left - 1) { max = right - left - 1; start = left + 1; end = right; } //对应"abba"这种形式的字符串 left = i; right = i + 1; while(left > -1 && right < s.length() && s.charAt(left) == s.charAt(right)) { left --; right ++; } if(max < right - left - 1) { max = right - left - 1; start = left + 1; end = right; } } return s.substring(start, end); } }
发表评论
-
498. Diagonal Traverse
2019-11-15 13:52 269Given a matrix of M x N eleme ... -
496 Next Greater Element I
2019-11-14 13:50 271You are given two arrays (witho ... -
Word Break II
2016-03-09 03:15 388Given a string s and a dictiona ... -
Insert Interval
2016-03-08 02:11 378Given a set of non-overlapping ... -
Merge Intervals
2016-03-07 05:25 503Given a collection of intervals ... -
Merge k Sorted Lists
2016-03-07 04:03 568Merge k sorted linked lists and ... -
Multiply Strings
2016-03-06 07:27 482Given two numbers represented a ... -
N-Queens II
2016-03-06 03:06 666Follow up for N-Queens problem. ... -
N-Queens
2016-03-06 02:47 472The n-queens puzzle is the prob ... -
First Missing Positive
2016-03-05 03:09 432Given an unsorted integer array ... -
Spiral Matrix
2016-03-04 03:39 582Given a matrix of m x n element ... -
Trapping Rain Water
2016-03-04 02:54 590Given n non-negative integers r ... -
Repeated DNA Sequences
2016-03-03 03:10 429All DNA is composed of a series ... -
Increasing Triplet Subsequence
2016-03-02 02:48 904Given an unsorted array return ... -
Maximum Product of Word Lengths
2016-03-02 01:56 933Given a string array words, fin ... -
LRU Cache
2016-02-29 10:37 606Design and implement a data str ... -
Super Ugly Number
2016-02-29 07:07 690Write a program to find the nth ... -
Longest Increasing Path in a Matrix
2016-02-29 05:56 855Given an integer matrix, find t ... -
Coin Change
2016-02-29 04:39 788You are given coins of differen ... -
Minimum Height Trees
2016-02-29 04:11 721For a undirected graph with tre ...
相关推荐
数据结构问题:“最长回文子串问题”(Longest Palindromic Substring),详细解法和代码实现; 数据结构问题:“最长回文子串问题”(Longest Palindromic Substring),详细解法和代码实现; 数据结构问题:“最长...
Longest-Palindromic-Substring(最长回文子串) 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 Sample 1 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 Sample 2 输入...
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Java AC 版本
这道题目是LeetCode中的第5题,名为“最长回文子串”(Longest Palindromic Substring)。在本压缩包中,你将找到关于如何解决这个问题的C#代码实现。 回文串是一种特殊的字符串,它从前往后读和从后往前读是一样的...
在给定的"Longest Palindromic Substring.txt"文件中,可能包含了具体的C++代码实现或测试案例,你可以查看该文件以获取更深入的理解和参考。通过理解和掌握这类问题的解决方案,不仅能够提升在C++编程中的技巧,还...
《最长回文子串:Java实现与算法解析》 在字符串处理领域,寻找最长回文子串是一项常见的任务。回文串是指一个字符串从左到右读和从右到左读是一样的,例如"madam"、"level"等。在本篇中,我们将深入探讨如何使用...
最长回文子串 给定一个字符串 s,找出 s 中最长的回文子串。 您可以假设 s 的最大长度为 1000。 Example 1: Input: "babad" Output: "bab" Note: "aba" is also a valid answer. Example 2: Input: "cbbd" Output: ...
最长回文子串 string,dp 8 String to Integer(atoi) 字符串转整数 string 13 Roman to Integer 罗马数字转整数 number,string 14 Longest Common Prefix 最长公共前缀 string 16 3Sum Closest 最接近的三数之和 two ...
最长回文子串 7 Reverse Integer 整数反转 9 Palindrome Number 回文数 11 Container With Most Water 盛最多水的容器 13 Roman to Integer 罗马数字转整数 14 Longest Common Prefix 最长公共前缀 20 Valid ...
最长回文子串 6. ZigZag Conversion Z字型变换 7. Reverse Integer 整数反转 8. String to Integer (atoi) 字符串转换整数 (atoi) 9. Palindrome Number 回文数 10. Regular Expression Matching 正则表达式匹配 11....
最长回文子串,补符号,记忆 6. ZigZag Conversion 观察规律 7. Reverse Integer 翻转整数 8. String to Integer 解析字符串 9. Palindrome Number 回文数字 10. Regular Expression Matching 动态规划,列出转换...
最长回文子串 给定一个字符串 s,找出 s 中最长的回文子串。 您可以假设 s 的最大长度为 1000。 示例 1: Input: "babad" Output: "bab" Note: "aba" is also a valid answer. 示例 2: Input: "cbbd" Output: "bb" ...
java lru leetcode Leetcode-Java Use Java to solve Leetcode&JianZhiOffer problems. ...(最长回文子串) Medium Dynamic Programming 7 Reverse Integer (整数反转) Easy Math 8 String to Integer (ato
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Input: "babad" Output: "bab" Note: "aba" is also a valid answer. ...
题目 "longest-palindromic-substring" 是LeetCode中的一个问题,要求找到给定字符串中最长的回文子串。 部分内容描述了一个C++类`Solution`,该类包含一个公共成员函数`longestPalindrome`,用于找出输入字符串`s`...
400 题LeetCode solutions in Java 8 and Python3.NO.Title中文名...Longest Palindromic Substring最长回文子串Java PythonNoteMediumtwo pointers dp backtracking5ZigZag ConversionZ字形变换Java ...
Palindromic Substring 中等 回文 ZigZag Conversion 中等 矩阵 重要 Reverse Integer 简单 字串 String to Integer (atoi) 中等 字串 麻烦 Palindrome Number 简单 字串 Container With Most Water 中等 动态规划 ...
c c语言_leetcode 0005_longest_palindromic_substring.zip
java入门 java_leetcode题解之005_Longest_Palindromic_Substring
c语言入门 c语言_leetcode题解05-longest-palindromic-substring.c