给你两个长度相等的字符串 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 <= 100word1 和 word2 仅由小写英文字母组成。