(LeetCode

    技术2025-08-28  16

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    说明:本题中,我们将空字符串定义为有效的回文串。

    示例 1:

    输入: "A man, a plan, a canal: Panama" 输出: true 示例 2:

    输入: "race a car" 输出: fals

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-palindrome

    思路:将s赋值给back,然后back逆转back_reverse,然后比较两者是否相等。

    思想很简单,但是这个调用的库是没想到的。

    记录一下常用字符(串)相关 API :

          isalnum:检测一个字符是否是字母或者十进制数字

          isalpha:检测字符是否为字母

          isdigit:检测字符是否为数字

          tolower:转化为小写

           s.rbegin(),s.rend():字符翻转API

    class Solution { public: bool isPalindrome(string s) { string back; for(char ch:s) { if(isalnum(ch)) { back += tolower(ch); //back存放字符串中每一个字符 } } string back_reverse (back.rbegin(), back.rend()); //back逆转赋值给back_reverse return back_reverse == back; //比较back、back_reverse是否相等 } };

     

    Processed: 0.012, SQL: 9