5. Longest Palindromic Substring——LeetCode OJ
来源:互联网 发布:flume json source 编辑:程序博客网 时间:2024/05/22 13:53
Difficulty:Medium
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.
Example:
Input: “cbbd”
Output: “bb”
给定一个字符串,找出其最长回文子串。
class Solution {public: string longestPalindrome(string s) { int len = s.size(); if(len <= 1) { return s; } bool dp[len][len];//dp[i][j]判断s[i...j]是不是回文数 memset(dp, 0, sizeof(dp)); int resLeft = 0; int resRight = 0; dp[0][0] = true; for(int i = 1; i < len; ++i) { dp[i][i] = true; dp[i][i-1] = true; } for(int m = 2; m <= len; ++m)//子串长度 for(int n = 0; n <= len - m; ++n)//子串初始值 { if(s[n] == s[n + m - 1] && dp[n + 1][n + m - 2]) { dp[n][n + m - 1] = true; if(resRight-resLeft + 1 < m) { resLeft = n; resRight = n + m - 1; } } } return s.substr(resLeft, resRight-resLeft + 1); }};
Runtime: 53 ms
利用了动态规划的知识。暴力枚举也不失为一种方法,遍历全部子串,再判断是否为回文数。
想起一个回文数的课后习题和面试题(C语言):
int main(void) { printf("请输入数字:\n"); int num; int ret; scanf("%d",&num); temp = palindromic(num); if(temp) { printf("这是回文数!\n"); } else { printf("不是回文数!\n"); } return 0; } int palindromic(int n) { int iVer = 0; while(n != 0) { iVer = iVer * 10 + n % 10; n = n / 10; } if(iVer == n) { return 1; } else { return 0; }}
阅读全文
0 0
- 5. Longest Palindromic Substring——LeetCode OJ
- <LeetCode OJ> 5. Longest Palindromic Substring
- LeetCode OJ 5.Longest Palindromic Substring
- LeetCode OJ 5. Longest Palindromic Substring
- LeetCode OJ(5.Longest Palindromic Substring)
- LeetCode OJ:Longest Palindromic Substring
- LeetCode OJ - Longest Palindromic Substring
- LeetCode OJ Longest Palindromic Substring
- LeetCode OJ ---- Longest Palindromic Substring
- [LeetCode OJ]Longest Palindromic Substring
- LeetCode——5. Longest Palindromic Substring
- Leetcode——5. Longest Palindromic Substring
- leetCode—Longest Palindromic Substring
- leetcode—Longest Palindromic Substring
- LeetCode OJ-5.Longest Palindromic Substring(最长回文子串)
- [LeetCode OJ][005]Longest Palindromic Substring
- LeetCode OJ 5 Longest Palindromic Substring
- LeetCode OJ 05 Longest Palindromic Substring
- mininet 虚拟机镜像的导入与使用
- CDH5 快速入门
- 卡片游戏
- 欢迎使用CSDN-markdown编辑器
- ArcGIS for Javascript API 4.X 快速实现卷帘功能
- 5. Longest Palindromic Substring——LeetCode OJ
- bzoj2154 Crash的数字表格(莫比乌斯反演)
- 检查xml文件标签是否匹配
- 自我学习心得JavaEE
- 获取系统时间
- Java中生成excel,并进行数据的写入读出
- 读书笔记 TCP/IP详解 卷1
- 设计模式介绍
- uva439 暂时未AC代码