21xrx.com
2025-03-30 04:49:26 Sunday
文章检索 我的文章 写文章
C++判断回文字符串。
2023-06-28 09:17:28 深夜i     20     0
C++ 回文 字符串 判断

在C++中,判断一个字符串是否为回文字符串是一个比较基础的问题。回文字符串指正读和反读都相同的字符串,比如“level”、“racecar”等。下面介绍两种判断回文字符串的方法。

方法一:暴力破解法

暴力破解法是最简单直接的方法,只需要将字符串逆序,然后和原字符串做比较即可。具体实现如下:

#include<iostream>
#include<string>
using namespace std;
int main()
{
  string str;
  cout<<"请输入一个字符串:"<<endl;
  cin>>str;
  int len=str.length();
  for(int i=0;i<len/2;i++)
  {
    if(str[i]!=str[len-i-1])
    
      cout<<"不是回文字符串"<<endl;
      return 0;
    
  }
  cout<<"是回文字符串"<<endl;
  return 0;
}

方法二:递归法

递归法是一种比较巧妙的方法,可以增加代码的可读性。具体实现如下:

#include<iostream>
#include<string>
using namespace std;
bool isPal(string str,int begin,int end)
{
  if(begin>=end)
  
    return true;
  
  if(str[begin]!=str[end])
  
    return false;
  
  return isPal(str,begin+1,end-1);
}
int main()
{
  string str;
  cout<<"请输入一个字符串:"<<endl;
  cin>>str;
  int len=str.length();
  if(isPal(str,0,len-1))
  
    cout<<"是回文字符串"<<endl;
  
  else
  
    cout<<"不是回文字符串"<<endl;
  
  return 0;
}

以上是C++判断回文字符串的两种方法,可以根据实际情况选择使用。

  
  

评论区

请求出错了