判断字符串前缀(26年蓝桥杯JAVA B组)

字符串前缀的严格定义

在计算机科学和形式语言理论中,前缀的定义如下:

数学定义

设字符串 s=s1s2...sns=s1​s2​...sn​(长度为 nn),则字符串 pp 是 ss 的前缀当且仅当:

∃k∈[0,n] 使得 p=s1s2...sk∃k∈[0,n] 使得 p=s1​s2​...sk​

其中:

  • k=0k=0 时,p=εp=ε(空字符串)

  • k=nk=n 时,p=sp=s(字符串本身)

核心要点

性质 说明
空串是前缀 空字符串 εε 是所有字符串的前缀
本身是前缀 一个字符串是它自己的前缀
连续开头 前缀必须从第一个字符开始连续取

示例

对于字符串 "hello"

k 值 前缀
0 ""(空串)
1 "h"
2 "he"
3 "hel"
4 "hell"
5 "hello"(本身)

相关概念对比

概念 定义 示例(s = "hello"
前缀 从开头取的连续子串 "he", "hello"
真前缀 前缀且长度 < 原串 "he",但不包括 "hello"
后缀 从结尾取的连续子串 "lo", "hello"
子串 任意位置的连续子串 "ell", "hel", "lo"

startsWith() 是 Java 中 String 类提供的一个内置方法 ,用于判断一个字符串是否以指定的前缀开头

基本用法

java

复制代码
public boolean startsWith(String prefix)
  • 返回值truefalse

  • 参数:要检查的前缀字符串

相关推荐
XiYang-DING2 小时前
【Java】从源码深入理解HashMap和TreeMap
java·开发语言
wangwangmoon_light2 小时前
1.23 LeetCode总结(树)_一般树
算法·leetcode·职场和发展
若水不如远方2 小时前
一文讲透单点登录原理(SSO):从同域共享到跨域票据
java·后端
不懂的浪漫2 小时前
mqtt-plus 架构解析(七):动态订阅与重连恢复,为什么能走同一条协调路径
java·物联网·mqtt·架构
小肝一下2 小时前
c++从入门到跑路——string类
开发语言·c++·职场和发展·string类
无巧不成书02182 小时前
Unicode编码机制全解析:从核心原理到Java 实战
java·开发语言·java字符编码·unicode 15.1码点
mu_guang_2 小时前
计算机体系结构3-cache一致性和内存一致性的区别
java·开发语言·计算机体系结构
海兰2 小时前
使用 Spring AI 打造企业级 RAG 知识库第一部分:核心基础
java·人工智能·spring
恼书:-(空寄2 小时前
责任链模式实现流程动态编排
java·责任链模式