21xrx.com
2024-12-22 22:06:02 Sunday
登录
文章检索 我的文章 写文章
C++实现判断回文字符串数组
2023-07-04 18:26:38 深夜i     --     --
C++ 回文字符串 数组

回文字符串是指正序和倒序读都相同的字符串,如“level”和“racecar”。对于一个字符串数组,我们可以通过C++编程来判断其中每个字符串是否为回文字符串。

要判断一个字符串是否为回文字符串,我们可以使用双指针法。设两个指针i和j,分别指向字符串的首尾字符。如果这两个字符相同,则i向后移动,j向前移动,继续比较下一个字符,直到i和j相遇或者不相同。如果两个字符不同,则该字符串不是回文字符串。

在C++中,我们可以使用标准库中的string类来处理字符串。我们可以将输入的字符串用string类转化为C风格字符串(字符数组),然后使用双指针法判断是否为回文字符串。代码如下:


#include <iostream>

#include <string>

using namespace std;

bool isPalindrome(char str[]) {

  int len = strlen(str);

  int i = 0, j = len - 1;

  while (i < j) {

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

      return false;

    

    i++;

    j--;

  }

  return true;

}

int main() {

  int n;

  cin >> n;

  string s;

  for (int i = 0; i < n; i++) {

    cin >> s;

    char str[100];

    strcpy(str, s.c_str());

    if (isPalindrome(str))

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

     else

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

    

  }

  return 0;

}

在代码中,我们先输入字符串个数n。然后循环n次,输入每个字符串s。将s转换为字符数组str,并调用isPalindrome函数来判断是否为回文字符串。最后输出结果。

以上就是用C++实现判断回文字符串数组的方法,大家可以自己尝试并加以改进。

  
  

评论区

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