Cover image for 面试经典150题 P125 验证回文串

面试经典150题 P125 验证回文串


时间轴

时间轴

2025-10-17

init

字符串

题目:

判断用双指针肯定快点,这里直接用标准库的 reverse 了

123456789101112131415161718192021222324252627282930313233
#include <algorithm>#include <cstring>#include <string>using std::string;class Solution {public:  bool isPalindrome(string s) {    int i;    int n = s.size();    string original;    for (i = 0; i < n; i++) {      if (s[i] >= 'A' && s[i] <= 'Z')        s[i] = s[i] - ('A' - 'a');            if (!(s[i] >= 'a' && s[i] <= 'z') && !(s[i] >= '0' && s[i] <= '9'))        s[i] = '*';    }    s.erase(std::remove(s.begin(), s.end(), '*'), s.end());    original = s;    std::reverse(s.begin(), s.end());    if (std::strcmp(s.c_str(), original.c_str()) == 0)      return true;    else      return false;    }};
评论加载中…