给你两个字符串 word1
和 word2
。
如果一个字符串 x
修改 至多 一个字符会变成 y
,那么我们称它与 y
几乎相等 。
如果一个下标序列 seq
满足以下条件,我们称它是 合法的 :
word1
中这些下标对应的字符 按顺序 连接,得到一个与 word2
几乎相等 的字符串。请你返回一个长度为 word2.length
的数组,表示一个 字典序最小 的 合法 下标序列。如果不存在这样的序列,请你返回一个 空 数组。
注意 ,答案数组必须是字典序最小的下标数组,而 不是 由这些下标连接形成的字符串。
示例 1:
输入:word1 = "vbcca", word2 = "abc"
输出:[0,1,2]
解释:
字典序最小的合法下标序列为 [0, 1, 2]
:
word1[0]
变为 'a'
。word1[1]
已经是 'b'
。word1[2]
已经是 'c'
。示例 2:
输入:word1 = "bacdc", word2 = "abc"
输出:[1,2,4]
解释:
字典序最小的合法下标序列为 [1, 2, 4]
:
word1[1]
已经是 'a'
。word1[2]
变为 'b'
。word1[4]
已经是 'c'
。示例 3:
输入:word1 = "aaaaaa", word2 = "aaabc"
输出:[]
解释:
没有合法的下标序列。
示例 4:
输入:word1 = "abc", word2 = "ab"
输出:[0,1]
提示:
1 <= word2.length < word1.length <= 3 * 105
word1
和 word2
只包含小写英文字母。