Lintcode29 Interleaving String solution 題解

【題目描述】

Given three strings: s1, s2, s3, determine whether s3 is formed by the interleaving of s1 and s2.

給出三個字符串:s1、s2、s3,判斷s3是否由s1和s2交叉構成。

【題目鏈接】

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。

【參考答案】

http://www.jiuzhang.com/solutions/interleaving-string/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章