九度题目:最大回文子串(1252)
2013-11-21 20:59
225 查看
题目描述:
输入一个字符串,输出该字符串中对称的子字符串的最大长度。
比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
输入:
存在多组数据,每组数据一行字符串,长度不大于100。
输出:
输出回文子串的最大长度。
样例输入:
样例输出:
对原始字符串分别判断用start和end的构成的子串是否是回文字符串
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int isPalindrome(char *str, int start, int end)
{
if (str == NULL)
return 0;
else {
char *p1 = str + start, *p2 = str + end;
while (p1 < p2 && *p1 == *p2) {
p1++;
p2--;
}
if (p1 < p2)
return 0;
else
return 1;
}
}
int main() {
char str[100];
while (scanf("%s", str) != EOF) {
int start = 0;
int end = strlen(str) - 1;
int length = 0, maxlength = 0;
for (; start < strlen(str), start < end; start++) {
while (start < end) {
if (isPalindrome(str, start, end)) {
length = end - start + 1;
if (length > maxlength)
maxlength = length;
break;
}
else {
end--;
}
}
end = strlen(str) - 1;
}
printf("%d\n", maxlength);
}
return 0;
}
输入一个字符串,输出该字符串中对称的子字符串的最大长度。
比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
输入:
存在多组数据,每组数据一行字符串,长度不大于100。
输出:
输出回文子串的最大长度。
样例输入:
样例输出:
4
对原始字符串分别判断用start和end的构成的子串是否是回文字符串
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int isPalindrome(char *str, int start, int end)
{
if (str == NULL)
return 0;
else {
char *p1 = str + start, *p2 = str + end;
while (p1 < p2 && *p1 == *p2) {
p1++;
p2--;
}
if (p1 < p2)
return 0;
else
return 1;
}
}
int main() {
char str[100];
while (scanf("%s", str) != EOF) {
int start = 0;
int end = strlen(str) - 1;
int length = 0, maxlength = 0;
for (; start < strlen(str), start < end; start++) {
while (start < end) {
if (isPalindrome(str, start, end)) {
length = end - start + 1;
if (length > maxlength)
maxlength = length;
break;
}
else {
end--;
}
}
end = strlen(str) - 1;
}
printf("%d\n", maxlength);
}
return 0;
}
相关文章推荐
- 九度 题目1252:回文子串
- 九度笔记之 1252:回文子串
- 九度 题目1528:最长回文子串
- 九度OJ 1252:回文子串 (字符串处理、DP)
- 题目1252:回文子串
- 九度题目1528:最长回文子串 腾讯二面面试算法题
- 【LeetCode】Longest Palindromic Substring && 【九度】题目1528:最长回文子串(腾讯2013年实习生招聘二面面试题)
- 九度笔记之 1252:回文子串
- 九度题目1528:最长回文子串
- 题目1252:回文子串
- 九度OJ 1252:回文子串 (字符串处理、DP)
- 最大回文子序列&最大回文子串
- 求最大回文子串的长度
- 九度-题目1011:最大连续子序列
- Palindrome---poj3974(最大回文子串manacher)
- 最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和
- ACM学习历程24——最大回文子串
- 字符串的最大回文子串判断
- 九度_题目1372:最大子向量和(连续子数组的最大和)
- 九度 oj 题目1149:子串计算