【发布时间】:2021-01-31 17:32:57
【问题描述】:
我有一个二叉树,在给定一个类似的谓词的情况下,我必须在这个二叉树中添加叶子中包含的值:
sum_leafs ([Node, Left, Right], Sum).
我不明白我该怎么做,必须计算叶子的值我应该计算节点的总和,以防左右都是 nil ..
[Node, nil, nil]
所以我有类似的东西:
sum_leafs([Node, Left, Right], Sum):-
sum_leafs(Left, Sum_Left),
sum_leafs(Right, Sum_Right),
Sum is (Sum_Left + Sum_Right).
我的尝试:
sum_leafs(nil, 0).
sum_leafs([Node, nil, nil], Node).
sum_leafs([_, Left, Right], Sum):-
sum_leafs(Left, Sum_Left),
sum_leafs(Right, Sum_Right),
Sum is (Sum_Left + Sum_Right).
我怎样才能做到这一点?
谢谢
【问题讨论】:
标签: prolog