跳到主要内容

LCR018.验证回文串

链接:LCR018.验证回文串
难度:Easy
标签:双指针、字符串
简介:给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。

题解 1 - cpp

  • 编辑时间:2022-02-18
  • 执行用时:4ms
  • 内存消耗:7.2MB
  • 编程语言:cpp
  • 解法介绍:双指针遍历。
class Solution {
public:
bool isPalindrome(string s) {
if (s == " ") return 1;
int l = 0, r = s.size() - 1;
char lc, rc;
while (l < r) {
do {
lc = tolower(s[l++]);
} while (l < s.size() && !isdigit(lc) && !isalpha(lc));
do {
rc = tolower(s[r--]);
} while (r >= 0 && !isdigit(rc) && !isalpha(rc));
if (l < s.size() && r >= 0 && lc != rc) return 0;
}
return 1;
}
};