求一个字符串中的最大回文子串
2016-02-28 17:09
127 查看
给定一个字符串,寻找它的一个最大子串,该子串是回文。
例如:给定用例字符串”gabcdcbaef”,那么最大回文字串是”abcdcba”。
函数声明为void huiwen(char input[], int len, char output[])。
代码:
例如:给定用例字符串”gabcdcbaef”,那么最大回文字串是”abcdcba”。
函数声明为void huiwen(char input[], int len, char output[])。
代码:
#include <iostream> using namespace std; void huiwen(char input[], int len, char output[]) { int i, j, k, low, high, num, flag = 0; for (i = 0; i < len&&flag == 0; i++) { for (j = len - 1; j>0 && flag == 0; j--) { if (input[i] == input[j]) { num = (j - i + 1) / 2; high = j; low = i; while (num > 0) { i++; j--; if (input[i] == input[j]) num--; else break; if (num == 0) { int length = high - low + 1; for (k = 0; k <length; k++) { output[k] = input[low++]; } flag = 1; } } } } } } int main() { char str[] = "gabcdcbaef"; char out[15] = { '0' }; huiwen(str, 10, out); cout << out << endl; cin.get(); return 0; }
相关文章推荐
- 为什么jdk中把String类设计成final?
- hdu 2005 第几天
- ZOJ1060
- Android绘图监听接口OnPreDrawListener详解
- java数组的增删改查
- 置换颜色的机关(Button和TextView的交互)
- 美丽世界游戏集合
- C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译?
- 【Manthan, Codefest 16E】【DP 从右向左线性扫描不用ST-RMQ】Startup Funding 最大的min(取min,取max) + n值选k最小做权的期望
- HDOJ 2016 数据的交换输出
- 解决 web 字符编码乱码问题-----charSet 和PageEncoding的区别--request编码问题
- c++ 动态分配内存delete多次出现的错误
- 最小二乘法拟合非线性函数及其Matlab/Excel 实现(转)
- <<Differential Geometry of Curves and Surfaces>>笔记
- 工具
- ActionBar中左边的图标不能显示?
- POJ 2393 Yogurt factory [Ad Hoc]
- tomcat添加外部项目
- tomcat添加外部项目
- [狗尾续貂第二篇]Redis内存锁的实现方法