题目
LeetCode 3597.分割字符串
解释
## 题目描述
给你一个字符串 s,按照以下步骤将其分割为 互不相同的段 :
从下标 0 开始构建一个段。
逐字符扩展当前段,直到该段之前未曾出现过。
只要当前段是唯一的,就将其加入段列表,标记为已经出现过,并从下一个下标开始构建新的段。
重复上述步骤,直到处理完整个字符串 s。
返回字符串数组 segments,其中 segments[i] 表示创建的第 i 段。
## 示例
**示例 1:**
**输入:** s = "abbccccd"
**输出:** ["a","b","bc","c","cc","d"]
**解释:** 下标
添加后的段
已经出现过的段
当前段是否已经出现过?
新段
更新后已经出现过的段
0
"a"
[]
否
""
["a"]
1
"b"
["a"]
否
""
["a", "b"]
2
"b"
["a", "b"]
是
"b"
["a", "b"]
3
"bc"
["a", "b"]
否
""
["a", "b", "bc"]
4
"c"
["a", "b", "bc"]
否
""
["a", "b", "bc", "c"]
5
"c"
["a", "b", "bc", "c"]
是
"c"
["a", "b", "bc", "c"]
6
"cc"
["a", "b", "bc", "c"]
否
""
["a", "b", "bc", "c", "cc"]
7
"d"
["a", "b", "bc", "c", "cc"]
否
""
["a", "b", "bc", "c", "cc", "d"]
因此,最终
**示例 2:**
**输入:** s = "aaaa"
**输出:** ["a","aa"]
**解释:** 下标
添加后的段
已经出现过的段
当前段是否已经出现过?
新段
更新后已经出现过的段
0
"a"
[]
否
""
["a"]
1
"a"
["a"]
是
"a"
["a"]
2
"aa"
["a"]
否
""
["a", "aa"]
3
"a"
["a", "aa"]
是
"a"
["a", "aa"]
因此,最终
## 约束条件
1 <= s.length <= 105
s 仅包含小写英文字母。
## LeetCode 链接
https://leetcode.cn/problems/partition-string/
答案
正在疯狂整理答案中......
