Scheme:一个函数,它将确定传入的列表是否遵循 AB 模式。AB 模式将是 (ABABAB) 或 (AB) 或 A 和 B 的任意组合重复。A 和 B 不是变量,我的字面意思是字母 A 后跟字母 B。
问问题
113 次
1 回答
0
一种天真的但简单的算法:寻找列表头部的模式;如果匹配,则返回 true,如果它不在列表的其余部分中查找模式。
(define (sublist? pattern list)
(and (not (null? list))
(or (match? pattern list)
(sublist? pattern (cdr list)))))
并且match?
功能可以是:
(define (match? p l)
(or (null? p)
(and (not (null? l))
(eq? (car p) (car l))
(match? (cdr p) (cdr l)))))
于 2013-10-17T18:07:02.433 回答