概述
- 链接
https://leetcode.cn/problems/XltzEq/ - 题目
给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。
本题中,将空字符串定义为有效的 回文串 。
示例:
输入: s = "A man, a plan, a canal: Panama"
输出: true
解释:"amanaplanacanalpanama" 是回文串
输入:s = "0P"
输出:false
解释:"op"不是回文串
- 思路:
字符串中可能会含有数字、大写字母、小写字符、空格、符号等,把数字和字母存下来,其余舍去。此外,因为字母不分大小写,所以大写字母要转换为小写字母。 - 注意:
tolower
函数,把字母字符转换为小写,非字母字符不处理;isalnum
函数,判断字符变量是否为数字或者字母,若是则返回非零,否则返回零;- ASCII
- 代码:
class Solution {
public:
bool isPalindrome(string s) {
//第一种,使用ASCII
int i,j;
vector<char> ans; //储存转换后的字符串
for(i=0;s[i]!='