💡 LeetCode题解 | 字符串中的环绕子串数量
本文将深入解析一道典型的字符串算法题,涵盖题目理解、解题思路、实现代码、复杂度分析以及示例讲解。适合中高级算法练习者理解如何从“无限字符串”的角度切入解题。
📝 题目描述
定义一个无限环绕字符串 base
为:
"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc..."
也就是说,这个字符串是由 "abcdefghijklmnopqrstuvwxyz"
不断无限循环连接而成的。
给定一个字符串 s
,请你统计并返回 s
中有多少 不同的非空子串 同时也出现在这个 base
中。
🧠 解题分析
🎯 本题考察点:
- 字符串的子串枚举与去重。
- 连续字符的判断(包括环绕递增,如
"z" -> "a"
)。 - 使用滑动窗口或者动态记录来避免重复计算。