当前位置: 首页 > news >正文

Java String类练习

1,字符串的第一个唯一字符

 思路:

是否可以直接遍历count数组,第一个为1的就是出现一次的字母

不可以

如果直接遍历 count 数组找第一个值为 1 的索引,会得到字母表中第一个出现一次的字母(如字符串是 leetcode,遍历 count 数组会找到 b,但实际答案是 l),这与题目要求不符。

统计次数count[c - 'a']++ 利用字符与 'a' 的 ASCII 差,把 a~z 映射到数组索引 0~25,高效统计次数。

按原顺序遍历:必须按字符串的原始顺序遍历,而非遍历 count 数组。因为题目要求 “第一个不重复的字符”(按字符串出现顺序找,而非字母表顺序)。


即,统计次数后,按原字符串顺序遍历,找第一个 count 为 1 的字符。

代码实例:

首先定义了count数组来存放26个字母

第一个for循环来计数,计数每一个字符出现的次数

第二个for循环来返回第一个只出现一次的字符

2,字符串最后一个单词的长度

思路:

有两种方法

可以通过字符串分割,使用split()

也可以找到最后一个空格的下标,然后截取空格后的字符串,然后求长度,使用lastindexOf和 subString()

代码示例

方法1:

方法2:

若这些方法不明白就去看佩奇大王的Java String类哦

3,验证回文串


思路:

由题目可以得知,字母,数字属于字母数字字符,而标点符号属于非字母数字字符

我们先写一个方法来判断字符是否为字母数字字符,是的话返回true,不是返回false

然后要将大写字母转化为小写字母

我们可以把一段(可能包括标点符号的)字符串分别设置  锚点  在  开头和末尾(可以理解为指针,但要注意java中没有指针)

当检测到不是字母数字字符,左锚点向右移动一位,右锚点向左移动一位

再判断左锚点和右锚点上的字符是否一致,一致就左锚点向右移动一位,右锚点向左移动一位,不一致直接返回false

代码示例

http://www.lryc.cn/news/605370.html

相关文章:

  • 编程算法:从理论基石到产业变革的核心驱动力
  • 数字化转型-制造业未来蓝图:“超自动化”工厂
  • HTTPS基本工作过程:基本加密过程
  • List 接口
  • 基于动态权重-二维云模型的川藏铁路桥梁施工风险评估MATLAB代码
  • 人形机器人_双足行走动力学:基于OpenSim平台的股骨模型与建模
  • Python并发与性能革命:自由线程、JIT编译器的深度解析与未来展望
  • pytorch入门2:利用pytorch进行概率预测
  • C++中sizeof运算符全面详解和代码示例
  • sqli-labs:Less-5关卡详细解析
  • MySQL学习---分库和分表
  • vulhub ica1靶场攻略
  • GCC链接技术深度解析:性能与空间优化
  • VUE -- 基础知识讲解(二)
  • JavaWeb 核心:AJAX 深入详解与实战(Java 开发者视角)
  • AI 代码助手在大前端项目中的协作开发模式探索
  • Effective C++ 条款12:复制对象时勿忘其每一个成分
  • MATLAB R2023b下载与保姆级安装教程!!
  • 如何读懂 火山方舟 API 部分的内容
  • 《JWT + OAuth2统一认证授权:企业级单点登录方案》
  • SpringBoot之多环境配置全解析
  • Tlias 案例-整体布局(前端)
  • 《大唐孤勇者:韩愈传》读书笔记与经典摘要(二)
  • 【0基础PS】PS工具详解--画笔工具
  • Python 的 match-case
  • 【2025/07/30】GitHub 今日热门项目
  • 数学建模——最大最小化模型
  • “娃哈哈”387件商标还在原集团名下!
  • C++从入门到起飞之——智能指针!
  • Unity UI的未来之路:从UGUI到UI Toolkit的架构演进与特性剖析(5)