str1和str2 长度相同 求最少步数把str1变成str2 每次改变字母不是只改变一个 而是把所有相同字母都改变 另外引入一个字符’*’ 可以作为中间状态
举例
accs -> eeec需要3步 accs -> eccs -> eees -> eeec
abb -> baa需要3步 abb -> *bb -> *aa -> baa
如果不能转换 返回-1
我觉得这是一道dp题 第一步用dp来算把两个stribg变成isomorphic strings的最短步数k
第二步则是数学问题 查找有多少组对应位置的字母不一样 如果有n组 答案是k+2n-1步 例子一的倒数第二个状态和target string是isomorphic,然后是1组对应char不同 所以答案k+1,例子二的初始状态和target string是isomorphic,有两组char不同,所以k+3。
第二部的关键说的不清楚 一组不同就是有一个对应的字母不同 比如 abbc和affc有一组 abc和cba有三组 aaaa和bbbb有一组