给你两个长度相等的字符串 word1
和 word2
。你的任务是将 word1
转换成 word2
。
为此,可以将 word1
分割成一个或多个连续子字符串。对于每个子字符串 substr
,可以执行以下操作:
替换:将 substr
中任意一个索引处的字符替换为另一个小写字母。
交换:交换 substr
中任意两个字符的位置。
反转子串:将 substr
进行反转。
每种操作计为 一次 ,并且每个子串中的每个字符在每种操作中最多只能使用一次(即任何字符的下标不能参与超过一次替换、交换或反转操作)。
返回将 word1
转换为 word2
所需的 最小操作数 。
子串 是字符串中任意一个连续且非空的字符序列。
示例 1:
输入: word1 = "abcdf", word2 = "dacbe"
输出: 4
解释:
将 word1
分割为 "ab"
、"c"
和 "df"
。操作如下:
"ab"
:
"ab" -> "ba"
。"ba" -> "da"
。"c"
:无需操作。"df"
:
"df" -> "bf"
。"bf" -> "be"
。示例 2:
输入: word1 = "abceded", word2 = "baecfef"
输出: 4
解释:
将 word1
分割为 "ab"
、"ce"
和 "ded"
。操作如下:
"ab"
:
"ab" -> "ba"
。"ce"
:
"ce" -> "ec"
。"ded"
:
"ded" -> "fed"
。"fed" -> "fef"
。示例 3:
输入: word1 = "abcdef", word2 = "fedabc"
输出: 2
解释:
将 word1
分割为 "abcdef"
。操作如下:
"abcdef"
:
"abcdef" -> "fedcba"
。"fedcba" -> "fedabc"
。
提示:
1 <= word1.length == word2.length <= 100
word1
和 word2
仅由小写英文字母组成。