【leetcode】125.验证回文串

devtools/2024/10/9 15:09:40/

思路: 

  1. isPalindrome 函数

    • 使用两个指针 left 和 right 分别指向字符串的开始和结束。
    • 使用 isalnum 函数跳过非字母数字字符。
    • 使用 tolower 函数将字符转换为小写进行比较。
    • 如果在某一步比较中发现字符不相等,则返回 0(false),否则继续向中间移动指针。
    • 如果所有字符都符合回文条件,则返回 1(true)。
#include <ctype.h>
#include <string.h>int isPalindrome(char* s)
{int left = 0, right = strlen(s) - 1;while (left < right) {// 找到下一个字母数字字符while (left < right && !isalnum(s[left])) {left++;}while (left < right && !isalnum(s[right])) {right--;}// 将字符转换为小写并比较if (tolower(s[left]) != tolower(s[right])) {return 0; // 不是回文}left++;right--;}return 1; // 是回文
}

 

 


http://www.ppmy.cn/devtools/123441.html

相关文章

推送k8s镜像到阿里云服务器

1、服务打包 2、打包后进入Dockerfile的同级目录 运行 docker build -t 镜像名:镜像版本 . (这个点是当前目录的意思&#xff0c;不能忽略)例如 docker build -t trac:v1.0.4 .3、上传镜像到阿里云镜像服务 注意选择区域 例如&#xff1a; docker tag 70743d9bdba3 registr…

C++ 线程池设计

1. 设计思路与原理 线程池是一种常见的并发编程模式&#xff0c;旨在管理和复用多个线程以避免频繁创建和销毁线程的开销。线程池中的线程执行任务队列中的任务&#xff0c;而任务的调度和管理由管理组件负责。回调函数通常用于任务完成后的通知或下一步操作。以下是相关组件的…

<STC32G12K128入门第十三步>驱动W5500进行TCP_Client通信

前言 最近本人接触到了一个消费类产品需要用到以太网,并且需要连接服务器,同时需要发送https协议。本文就是讲解如何运行TCP客户端, 一、W5500讲解? W5500是一款10/100M的以太网转换芯片,内部集成了TCP/IP协议栈。并且支持SPI/I2C协议。我在STC32上面使用的是软件SPI。…

ffmpeg源码分析(七)结构体之AVStream

AVStream是存储每一个视频/音频/字幕/其它流信息的结构体。 头文件 github.com 关键字段 index: 流下标&#xff0c;AVFormatContext中对应流的索引 id: 流id&#xff0c;解码时由libavformat设置&#xff0c;编码时由用户设置。 type: 编解码器的类型&#xff0c;可以是音…

RL_足球教练

文章目录 前言什么是 Agent?定义Agent的组成部分Agent的目标 什么是 End-to-End Approach?定义特点优势与挑战示例 Fuzzy Bayesian Reinforcement Learning (RB-RL)系统组成部分系统工作原理 贝叶斯方法基础_条件概率定义 贝叶斯定理示例敏感性 Q-learning强化学习算法Q-lear…

java 面试题

一、Java 基础 1.1、java 面向对象特征 封装 封装类内部的实现结构&#xff0c;保护数据&#xff0c;增加代码可维护性&#xff0c;不需要关心内部实现。 继承 从已有的类中派生出新的类。新的类拥有已有类的的属性和行为。并能扩展新的能力。 多态 父类的引用指向子类的对象…

PostgreSQL学习之有关身份鉴别的一些小想法

1、拒绝异地登录&#xff1a;psql客户端登录数据库成功后&#xff0c;服务端发回一组随机数&#xff0c;psql将此随机数保存到本地文件&#xff0c;作为下次登录时的凭据(常规认证之后再检查随机数)&#xff0c;如果随机数检查不通过&#xff0c;则可能账户被异地登录&#xff…

在 ArkTS 网络请求中,重新封装一下 http 模块

在ArkTS中&#xff0c;重新封装http模块可以提供一个更简洁、更易于使用的API&#xff0c;同时隐藏底层细节&#xff0c;使开发者能够更专注于业务逻辑。以下是一个简单的示例&#xff0c;展示了如何重新封装鸿蒙系统的kit.NetworkKit中的http模块&#xff1a; // 创建一个新的…