21xrx.com
2024-11-05 14:53:28 Tuesday
登录
文章检索 我的文章 写文章
C++判断回文字符串。
2023-06-28 09:17:28 深夜i     --     --
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++判断回文字符串的两种方法,可以根据实际情况选择使用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复