擅长:python、mysql、java
<p>您需要转换到<code>input == result</code>。当<code>input == result</code>时,这意味着它不能再被转换。更改见下文。在</p>
<pre><code>def transformations(J):
if len(J) <= 1: # I made it less than or equal
return J
front_part = ""
back_part = ""
if J[0] == J[1]:
back_part = J[2:]
return transformations(back_part)
else:
front_part = J[0]
back_part = J[1:]
# See below
result = front_part + transformations(back_part)
# If it's same we have done all transformations.
if result == J:
return result
else: # try to perform more transformations
return transformations(result)
tests = [
["abba", ""],
["ab", "ab"],
["aba", "aba"],
["aabbbccaaba", "a"]
]
for inp, expected in tests:
actual = transformations(inp)
print("trans(%s) == %s" % (inp, actual), "Test Passed =", actual == expected)
</code></pre>
<p>这将导致</p>
^{pr2}$