1. 程式人生 > >Lintcode29 Interleaving String solution 題解

Lintcode29 Interleaving String solution 題解

determine 參考答案 solution whether 字符串

【題目描述】

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/


Lintcode29 Interleaving String solution 題解