21xrx.com
2024-09-19 09:53:01 Thursday
登录
文章检索 我的文章 写文章
C++实现字符串对称判断
2023-07-02 22:02:43 深夜i     --     --
C++ 字符串 对称判断

在程序设计中,字符串对称判断是一个常见的问题。C++语言作为一种流行的编程语言,实现字符串对称判断也是非常容易的。

首先,需要了解什么是字符串对称。字符串对称指的是从左向右和从右向左读取时,字符序列是相同的,也就是“回文”。例如,“level”和“racecar”就是回文。

然后,在C++中实现字符串对称判断,可以使用以下步骤:

1. 定义一个字符串变量,将待检测的字符串储存在该变量中。


string str = "level";

2. 定义两个指针变量,一个指向字符串的开头(即第一个字符),一个指向字符串的结尾(即最后一个字符)。


int left = 0;

int right = str.length() - 1;

3. 判断每个字符是否相等。如果相等,则将左指针向右移动,右指针向左移动;如果不相等,则说明字符串不对称,返回false。


while (left < right) {

 if (str[left] == str[right]) {

  left++;

  right--;

 } else

  return false;

 

}

4. 最后,如果字符串对称,返回true。


return true;

完整代码如下:


#include <iostream>

#include <string>

using namespace std;

bool isPalindrome(string str) {

 int left = 0;

 int right = str.length() - 1;

 

 while (left < right) {

  if (str[left] == str[right]) {

   left++;

   right--;

  } else

   return false;

  

 }

 

 return true;

}

int main() {

 string str = "level";

 

 if (isPalindrome(str))

  cout << "The string is a palindrome." << endl;

  else

  cout << "The string is not a palindrome." << endl;

 

 

 return 0;

}

这个程序的输出是:


The string is a palindrome.

所以,“level”是回文的字符串。无论是对称判断,还是其他任务,C++都是一种非常实用的编程语言,并且易于学习和使用。

  
  

评论区

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