面试经典159题——Day25

文章目录

一、题目

125. Valid Palindrome

A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric characters include letters and numbers.

Given a string s, return true if it is a palindrome, or false otherwise.

Example 1:

Input: s = "A man, a plan, a canal: Panama"

Output: true

Explanation: "amanaplanacanalpanama" is a palindrome.

Example 2:

Input: s = "race a car"

Output: false

Explanation: "raceacar" is not a palindrome.

Example 3:

Input: s = " "

Output: true

Explanation: s is an empty string "" after removing non-alphanumeric characters.

Since an empty string reads the same forward and backward, it is a palindrome.

Constraints:

1 <= s.length <= 2 * 105

s consists only of printable ASCII characters.

题目来源: leetcode

二、题解

cpp 复制代码
class Solution {
public:
    bool isPalindrome(string s) {
        int n = s.length();
        string tmp = "";
        for(int i = 0;i < n;i++){
            if(isdigit(s[i]) || isalpha(s[i])) tmp += s[i];
        }
        int i = 0,j = tmp.length() - 1;
        while(i < j){
            if(tolower(tmp[i]) != tolower(tmp[j])) return false;
            i++;
            j--;
        }
        return true;
    }
};
相关推荐
UP_Continue28 分钟前
C++--string的模拟实现
java·开发语言·c++
算AI37 分钟前
AI辅助编程:常用的7种Prompt模式
人工智能·算法
TY-202540 分钟前
机器学习算法_决策树
算法·决策树·机器学习
CodeWithMe42 分钟前
【C/C++】高效的位操作
c语言·c++
天天摸鱼的java工程师42 分钟前
八年 Java 开发手记:6 大锁类型深度解析,覆盖 99% 并发编程场景
java·后端·面试
newki1 小时前
学习笔记,关于NDK/JNI的简介与实战
android·c++·app
寒山李白1 小时前
Spring Boot 常用注解面试题深度解析
java·spring boot·面试·注解
liang_jy1 小时前
Java this
java·面试
子豪-中国机器人1 小时前
C++ 信息学奥赛总复习题
java·jvm·算法
四谷夕雨2 小时前
C++八股 —— 单例模式
c++