【題目描述】
Given three strings: s1, s2, s3, determine whether s3 is formed by the interleaving of s1 and s2.
給出三個字符串:s1衬潦、s2、s3,判斷s3是否由s1和s2交叉構(gòu)成。
【題目鏈接】
http://www.lintcode.com/en/problem/interleaving-string/
【題目解析】
dp[i][j]表示s1前i個和s2前j個對s3前i+j個是否interleaving string古徒。
首先初始化勿决。遍歷s1,初始化所有的dp[i][0]
再遍歷s2澡谭,初始化所有的dp[0][j]
若s3的第i+j-1位和s1的第i位相等纯命,則看dp[i-1][j]是否為true西剥;同理,若s3的i+j-1位和s2的第j位相等亿汞,則看dp[i][j-1]是否為true瞭空。只要兩種情況中的任意一種為true,則dp[i][j]為true疗我。
【參考答案】