PhoenixZq
分享是一门艺术~~
摘要: 题目:找出一个字符串中最长的回文,比如goooogleel,最长回文是goooog分析:第一,定义一个pStr指向字符串str,再定义一个p指向pStr,q指向pStr+1;第二,找出一个字符*p与其下一个字符*q相同位置,比如oo,num++,index = p;然后比较这两个相同字符*p,*q两边的字符是否相等,如果相等再向两边扩展p--,q++(p>str&&q!='\0')。如果p指向首部,即p=str,则调出while循环,再比较一次if(*p == *q),num++,index = q.第三,如果发现连续两个字符不相等,则让pStr++,p= 阅读全文
posted @ 2011-09-19 15:59 PhoenixZq 阅读(4140) 评论(0) 推荐(0) 编辑
摘要: 题目:找出一个字符串中最长连续相邻子串,比如ababcabc,最长连续字串是abc。分析:第一步,首先定义一个指针pStr定位于字串首部,再定义一个指针qStr指向pStr的下一个,然后qStr++找出与*pStr相同的字符;第二步,如果找到*qStr==*pStr,则递增两个指针,并计算下相同字符的数目num和这段相同子字符串的index。第三步,如果*qStr!=*pStr,则设置num=0。接着转向第一步...第四步,定义一个maxNum和一个maxIndex,记录最长子字符串的长度和位置。如果一个新的num>maxNum,则maxNum=num,maxIndex=index。#i 阅读全文
posted @ 2011-09-19 11:26 PhoenixZq 阅读(8391) 评论(1) 推荐(0) 编辑