21xrx.com
2024-11-25 03:10:51 Monday
登录
文章检索 我的文章 写文章
C++判断字符串是否为回文。
2023-07-05 07:56:49 深夜i     --     --
C++ 判断 字符串 回文

在 C++ 中,判断一个字符串是否为回文是一项比较基础的技能。回文是指正着读和反着读都一样的字符串。比如“level”、“radar”、“deified” 等等,都是回文。

当我们需要对字符串进行回文判断时,我们可以采用以下两种方法。

方法一:双指针法

双指针法是比较常用而且也比较容易理解的一种方法。我们可以定义头指针和尾指针,分别指向字符串的开头和结尾,然后不断比较指针所指的字符是否相等,直到头指针大于等于尾指针,即可得出结论。

具体实现如下:


bool isPalindrome(string s) {

  int left = 0, right = s.length() - 1;

  while (left < right) {

    if (s[left] != s[right])

      return false;

    left++;

    right--;

  }

  return true;

}

方法二:翻转法

我们可以将原字符串翻转后和原字符串进行比较,如果相等,则说明该字符串是回文。具体实现如下:


bool isPalindrome(string s) {

  string reverseS = s;

  reverse(reverseS.begin(), reverseS.end());

  return s == reverseS;

}

需要注意的是,这种方法会耗费额外的空间,因为需要创建一个新的字符串来存储翻转后的结果。

以上两种方法都是比较常用的回文判断方法,读者可以根据自己的实际需求选择适合自己的方法来使用。

  
  

评论区

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