首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定义subTree方法

如何定义subTree方法
EN

Stack Overflow用户
提问于 2013-12-15 20:52:47
回答 1查看 138关注 0票数 0

在这个定义中,subTree函数会起作用吗?我有点困惑。现在,如果树中的节点包含字符串"s“,则可以将带有字符串"s”的叶子视为子树。

代码语言:javascript
复制
data Tree = Leaf String | Node Tree String Tree

subTree :: Tree -> Tree -> Bool
subTree (Leaf s) t = inTree s t
subTree (Node t1 s1 t2) (Leaf s2) = False
subTree (Node t1 s1 t2) (Node t3 s2 t4) = 
   ((s1 == s2) && (subTree t1 t3) && (subTree t2 t4)) ||
   subTree (Node t1 s1 t2) t3 ||
   subTree (Node t1 s1 t2) t4

inTree :: String -> Tree -> Bool
inTree s1 (Leaf s2) = (s1 == s2)
inTree s1 (Node t1 s2 t2) = (s1 == s2) || inTree s1 t1 || inTree s1 t2
EN

回答 1

Stack Overflow用户

发布于 2013-12-15 22:21:23

代码语言:javascript
复制
*Main> subTree (Leaf 1) (Node (Leaf 0) 1 (Leaf 9))
True
*Main> subTree (Leaf 1) (Node (Leaf 1) 4 (Leaf 9))
True
*Main> subTree (Leaf 1) (Node (Leaf 0) 4 (Leaf 9))
False
*Main> 

我将String改为Integer

根据子树的定义,这是正确的吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20594725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档