首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >验证回文串(C++)

验证回文串(C++)

作者头像
GeekLiHua
发布2025-01-21 11:07:23
发布2025-01-21 11:07:23
2030
举报
文章被收录于专栏:JavaJava
验证回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true **;否则,返回 **false **。

示例 1:

代码语言:javascript
复制
输入: s = "A man, a plan, a canal: Panama"
输出: true
解释: "amanaplanacanalpanama" 是回文串。

示例 2:

代码语言:javascript
复制
输入: s = "race a car"
输出: false
解释: "raceacar" 不是回文串。

示例 3:

代码语言:javascript
复制
输入: s = " "
输出: true
解释: 在移除非字母数字字符之后,s 是一个空字符串 "" 。
由于空字符串正着反着读都一样,所以是回文串。

提示:

  • 1 <= s.length <= 2 * 105
  • s 仅由可打印的 ASCII 字符组成

我的代码:

代码语言:javascript
复制
class Solution {
public:
    bool isPalindrome(string s) {
        // 这个题用到了一个string的技巧
        string res = "";
        for (auto ch:s)
        {
            if (isalnum(ch)) res += tolower(ch);
        }
        // 这里并没有用到reverse函数
        string res_res = string(res.rbegin(), res.rend());
        return res == res_res;
    }
};

对应我的掘金文章:https://juejin.cn/post/7147298217758195720

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 验证回文串
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档