LeetCode-5-Longest Palindromic Substring(C语言实现)
来源:互联网 发布:淘宝确认订单 编辑:程序博客网 时间:2024/05/29 18:59
char get_s[5000] = {0}; //设置全局变量用于函数之间传递字符串(注意C内存机制)
char* longestPalindrome(char* s) {
int i, j, max, flag = 0;
int n = 0;
n = (int)strlen(s);
int len[10000] = {0}; //构建新串,原串每相邻字符间插入'*',遍历奇数/偶数最大回文子串时对应处理易于理解
char new_s[10000] = {0}; //记录对应各个位置的最大回文子串长度
//构建新串
new_s[0] = s[0];
for(i = 1; i < n; ++i)
{
new_s[2 * i - 1] = '*';
new_s[2 * i] = s[i];
}
//计算对应各个位置的最大回文子串长度,录入数组
for(i = 0; i <2 * n - 1; ++i)
{
j = 1;
max = 0;
while(i - j >= 0 && i + j < 2 * n - 1 && new_s[i - j] == new_s[i + j])
{
++j;
++max;
}
len[i] = (i % 2 == 0) ? max / 2 * 2 + 1 : (max + 1) / 2 * 2;
}
//找到最大值下标(如相同,取最后的)
for(i = 1; i <2 * n - 1; ++i)
{
flag = len[i] >= len[flag] ? i : flag;
}
//将对应子串录入全局变量
for(i = 0, j = flag /2 - (len[flag] - 1) /2; j < flag / 2 + len[flag] /2 + 1; ++i, ++j)
get_s[i] = s[j];
get_s[i] = '\0';
//返回
return get_s;
}
- LeetCode-5-Longest Palindromic Substring(C语言实现)
- Leetcode c语言-Longest Palindromic Substring
- 【LeetCode算法练习(C语言)】 Longest Palindromic Substring
- C实现 LeetCode->Longest Palindromic Substring
- [LeetCode]5 Longest Palindromic Substring(C++,Python实现)
- LeetCode 5. Longest Palindromic Substring(C++)
- leetcode 5(Longest Palindromic Substring)golang实现
- leetcode Longest Palindromic Substring(C)
- LeetCode(5)Longest Palindromic Substring
- leetcode 5 Longest Palindromic Substring(manacher)
- LeetCode (5)Longest Palindromic Substring
- leetcode 5 Longest Palindromic Substring(1)
- LeetCode 5 - Longest Palindromic Substring
- LeetCode(5) Longest Palindromic Substring
- Leetcode【5】:Longest Palindromic Substring
- [leetcode 5] Longest Palindromic Substring
- LeetCode 5 Longest Palindromic Substring
- [Leetcode] 5 - Longest Palindromic Substring
- Cocos2dx编译Android包出现的小问题汇总
- php获取ajax的headers方法与内容详解
- scala入门学习(1)基础篇
- unity 2017.2.2 minimap 迷你地图制作(多摄像机分屏)
- 软考之网络工程师准备
- LeetCode-5-Longest Palindromic Substring(C语言实现)
- Python连接Mysql 连接池
- opencv+gpu博客
- 2987: Earthquake
- python subprocess select 读取
- [ BSGS ] BZOJ2242
- python中 format格式字符串使用总结
- .Net MVC 里面的核心文件Global.asax运行原理分析
- QT3D学习之路02