Итак, вы можете многократно использовать LCS (как указано выше), чтобы найти все общие строки и удалить их из обеих ваших строк, заменив их другой строкой - скажем просто «*». Затем вы выполняете итерацию по обеим строкам одновременно и повторно комбинируете общее и отличное обратно вместе.
Пример
A) Hello there!
B) Helay scere?
LCS detection gives us ["Hel"," ","ere"], and after replacement we have
A) *lo*th*!
B) *ay*sc*?
Now you split on the delimiter ("*") giving you
A) ["lo","th","!"]
B) ["ay","sc","?"]
И отсюда вы просто идете делать простую сетку. Ключевым моментом, который стоит отметить, является то, что могут быть нулевые записи, например, если вы используете этот метод для «Ада» и «Хела», вы в конечном итоге получите
Common LCS) ["Hel"]
A) ["l"]
B) [""]
meaning your result will be Hel[l]()
Надеюсь, это приемлемо.