标签:
#ifndef PALINDROME_H_
#define PALINDROME_H_
#include<iostream>
#include<string>
int palindrome_longest(char *str,int front,int back);
#endif
#include"Palindrome.h"
#define Max(a,b) a>b? a:b
int palindrome_longest(char *str,int front,int back){
int pali_count=0;
if(front==back)
return pali_count+1;
if(str[front]==str[back]){
pali_count=palindrome_longest(str,front+1,back-1)+1;
}else{
pali_count=Max(palindrome_longest(str,front+1,back),palindrome_longest(str,front,back-1));
}
return pali_count;
}
#include "LongPath.h"
#include "Palindrome.h"
int main(){
char *str="civic";
char *str0="racecar";
char *str1="character";
std::cout<<palindrome_longest(str,0,4)<<std::endl;
std::cout<<palindrome_longest(str0,0,6)<<std::endl;
std::cout<<palindrome_longest(str1,0,8)<<std::endl
if(str[front]==str[back]){
pali_count=palindrome_longest(str,front+1,back-1)+1;
}else{
pali_count=Max(palindrome_longest(str,front+1,back),palindrome_longest(str,front,back-1));
}
标签:
原文地址:http://www.cnblogs.com/yml435/p/4655525.html