0
有一个字符串,其字符只能是a
,b
或_
,字符串中只有一个_
。将一个字符串转换为另一个字符串
在每一步中,我们可以修改字符串如下:
_
可与其相邻的字符被交换,例如a_ba
可以改变为任一_aba
或ab_a
。
您可以把_字符与旁边相邻字符只有当相邻的字符是从旁边相邻的性格不同。 (例如aba_ab
可以转换为a_abab
或ababa_
,但ab_aab
不能转换为abaa_b
,因为a
不能跳过a
)。
给出两个字符串,初始状态和最终状态(长度相同),必须输出将初始状态的字符串更改为最终状态字符串所需的最小步数。
例如:
string s1 ,s2 ;
input: s1 = a_b , s2 = ab_
output: 1
input: s1 = aba_a , s2 = _baaa
output: 2
“顶点是所有可能的状态”,通过您指的是指定给定字符串中的每个字符的状态。如果你能为我提供这个问题的pseduo代码,那也会更好。我在这个问题上花费了很多时间 –
顶点是您为生成字符串而生成的中间字符串,边将是您应用的操作。 – Rupak
在问题的编辑部分,我发布了新的解决方案。那是对的吗? –