力扣第5题,最长回文子串
成都服务器托管,创新互联提供包括服务器租用、简阳服务器托管、带宽租用、云主机、机柜租用、主机租用托管、CDN网站加速、国际域名空间等业务的一体化完整服务。电话咨询:18982081108题目描述:
给你一个字符串 s,找到 s 中最长的回文子串。
如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。
示例 1:
输入:s = “babad”
输出:“bab”
解释:“aba” 同样是符合题意的答案。
示例 2:
输入:s = “cbbd”
输出:“bb”
提示:
C语言代码实现:
void palindRom(char *str, int left, int right, int *start, int *len)
{int str_len = strlen(str);
while (left >= 0 && right<= str_len && str[left] == str[right])
{left--;
right++;
if (right - left - 1 >*len)
{*start = left + 1;
*len = right - left - 1;
}
}
}
char * longestPalindrome(char * s){if (strlen(s)< 1)
{return s;
}
int start = 0, len = 0;
for (int i = 0; i< strlen(s); i++)
{// 一个元素为中心
palindRom(s, i, i, &start, &len);
// 两个元素为中心
palindRom(s, i, i + 1, &start, &len);
}
s[start + len] = '\0';
return s + start;
}
运行结果:
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧