21xrx.com
2024-12-22 18:26:47 Sunday
登录
文章检索 我的文章 写文章
C++实现判断回文串算法
2023-07-07 00:31:13 深夜i     --     --
C++ 实现 判断 回文串 算法

回文串是一种非常有趣的字符串,其可以从左到右和从右到左读取的结果是一样的。换句话说,它是一个镜像字符串。在本文中,我们将介绍如何用C++实现判断回文串算法。

首先,让我们回顾一下回文串的基本定义。一个字符串是回文串,当且仅当它从左到右和从右到左读取的结果是一样的。例如,"abba"和"racecar"都是回文串。

接下来,我们可以开始实现判断回文串的算法。我们需要使用两个指针,分别从字符串的两端向中间移动。如果它们指向的字符相同,就继续移动;如果不同就说明这个字符串不是回文串。

下面是C++代码的实现:


#include <iostream>

#include <string>

using namespace std;

bool isPalindrome(string s) {

  int i = 0, j = s.length() - 1;

  while (i < j) {

    if (s[i] != s[j])

      return false;

    

    i++;

    j--;

  }

  return true;

}

int main() {

  string s;

  cout << "Enter a string: ";

  cin >> s;

  if (isPalindrome(s))

    cout << s << " is a palindrome." << endl;

   else

    cout << s << " is not a palindrome." << endl;

  

  return 0;

}

在这个例子中,我们定义了一个名为isPalindrome()的函数,它接收一个字符串作为输入,并返回一个布尔值。该函数使用两个指针来比较字符串的首尾字符,如果它们相同,则继续移动指针;否则,该字符串不是回文串,并返回false。最后,如果所有相邻字符都匹配,则该字符串是回文串,并返回true。

总之,C++实现判断回文串算法并不难。只需要了解回文串的定义,并使用两个指针来比较字符串的每个字符即可。

  
  

评论区

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