我有一个列表列表,需要将其与另一个列表列表合并。 输入示例: 答:[[1,2],[3,4],[5,6],[7,8]] B:[[1,8]]
示例输出: [[1,2,1,2],[1,3,4],..,[7,8,5,7,8]]
2个列表列表,其中两个列表都包含4个列表,则会返回一个列表列表,大小为4 * 4 = 16
我已经尝试过递归地合并列表,但是我知道即使通过列表也行不通。
mergeAll [[]] [[]] = [[]]
mergeAll [[]] b = b
mergeAll a [[]] = a
mergeAll xs ys = mergeAll (merge xs ys) (drop 1 ys)
merge :: [[a]] -> [[a]] -> [[a]]
merge [[]] [[]] = [[]]
merge xs [[]] = xs
merge [[]] ys = ys
merge (x:xs) (y:ys) = ((x++y):xs)