假設三個字串分別為 a、b、c,宣告一個三維陣列,並且跑一個 a.length()*b.length()*c.length() 的 For 迴圈,如果 目前跑到的三個字元相等,則要判斷使否有任一數值是第一個,也就是 0,如果 i、j、k 有一個是 0 的話,則將 三維陣列[i][j][k] 設為 1,否則將 三維陣列[i][j][k] 設為 三維陣列[i-1][j-1][k-1]。
如果兩數不相等,則也要判斷 i、j、k 是否有 0,如果都不是的話就是將 三維陣列[i][j][k] 設為 三維陣列[i-1][j-1][k-1]。除此之外還要判斷只有 i、j、k 其中一個或兩個等於 0 的情況,這種情況就是將數值設為不是 0 的那邊 -1 位置。如果都是 0 的話就將 三維陣列[i][j][k] 設為 0。
最後的答案就是 三維陣列[a.length()-1][b.length()-1][c.length()-1]。