给你一个字符串数组 words
,对于范围 [0, words.length - 1]
内的每个下标 i
,执行以下步骤:
words
数组中移除下标 i
处的元素。返回一个数组 answer
,其中 answer[i]
是移除下标 i
后,相邻对之间最长公共前缀的长度。如果 不存在 相邻对,或者 不存在 公共前缀,则 answer[i]
应为 0。
字符串的前缀是从字符串的开头开始延伸到任意位置的子字符串。
示例 1:
输入: words = ["jump","run","run","jump","run"]
输出: [3,0,0,3,3]
解释:
words
变为 ["run", "run", "jump", "run"]
["run", "run"]
,其公共前缀为 "run"
(长度为 3)words
变为 ["jump", "run", "jump", "run"]
words
变为 ["jump", "run", "jump", "run"]
words
变为 ["jump", "run", "run", "run"]
["run", "run"]
,其公共前缀为 "run"
(长度为 3)words
变为 ["jump", "run", "run", "jump"]
["run", "run"]
,其公共前缀为 "run"
(长度为 3)示例 2:
输入: words = ["dog","racer","car"]
输出: [0,0,0]
解释:
提示:
1 <= words.length <= 105
1 <= words[i].length <= 104
words[i]
仅由小写英文字母组成。words[i]
的长度总和不超过 105
。