回文判断

如:aba 就是个回文.

  1. #include<iostream> 
  2. #include<string> 
  3. using namespace std; 
  4.  
  5. string str = ""
  6. string HuiWen_str = ""
  7. void Huiwen(){ 
  8.     char c; 
  9.     cin>>c; 
  10.     if('#' == c)return
  11.     str +=c; 
  12.     Huiwen(); 
  13.     HuiWen_str+=c;//回溯 从尾部开始加 
  14. int main(){ 
  15.     while(1){ 
  16.         cout<<"输入:"
  17.     Huiwen(); 
  18.     if(str == HuiWen_str) 
  19.         cout<<str<<" 是回文"<<endl; 
  20.     else 
  21.         cout<<str<<" 不是回文"<<endl; 
  22.      str = ""
  23.      HuiWen_str = ""
  24.     } 
  25.     system("pause"); 

 类似的问题,比如反转字符串,输入abcdefg,输出gfedcba.

可以用很多方法实现,在不知道输入字符串长度的情况下可以用回溯法实现很简单,

code:

 

  1. #include<iostream> 
  2. using namespace std; 
  3.  
  4.  
  5. void Reverse(){ 
  6.     char c; 
  7.     cin>>c; 
  8.     if('#' == c)return
  9.     Reverse(); 
  10.     cout<<c; //开始输出反向字符串
  11.  
  12. int main(){ 
  13.  
  14.     Reverse(); 
  15.     system("pause"); 
  16.     return 0;