我正在尝试创建一个递归函数,它接受一个字符串string-1并检查另一个字符串string-2是否是一个子序列。我得到了一些基本工作但无法使整个程序工作。
我尝试做的是实施“会员?”功能。我想要它做的是检查字符串2中的每个元素是否是字符串1的一部分,但是,检查它们的字符是否有序。
例如,给定字符串:hello,如果另一个字符串是:hel,ell,ello,hello或hlo,则该函数将生成true。如果另一个字符串是:ehl,oll或helllo,该函数将产生false。
(define (possible-subset? word subset-word)
(cond [(> (length (string->list subset-word)) (length (string->list word)) ) false]
[(equal? (string->list word) (string->list subset-word)) true]))
上面提供的代码会处理明确的赠品,告诉您这个单词是否是一个子集。
任何帮助将不胜感激。谢谢。
以你好和hlo为例。
随着那个你好和hlo减少到ello和lo
随着ello和lo减少到llo和lo然后规则1再次适用导致lo和o,其中规则2将其减少到o和o,规则1减少到两个空字符串
根据规则3,结果是匹配。