Dynamic_Programming/1092.Shortest-Common-Supersequence/Readme.md
如果只是问Shortest-Common-Supersequence的长度,那么就是一道非常基本的dp题,典型的"two string conversion"的套路.
现在要求打印出这样的Shortest-Common-Supersequence,无非就是从dp[M][N]逆着往回走,每一步我们都需要判断dp[i][j]之前的状态是什么?其实就是重复一遍给dp赋值的逻辑:
str1[i](或者str2[j])这样一直回退到i==0 && j==0
此题还可以先解决一个最长公共子串问题(LCS),求得二维数组dp[i][j],然后根据这个dp的定义来重构超级串。
同样,我们逆序构造这个超级串:
str1[i](或者str2[j]).