接受二叉树并返回总和的函数

时间:2019-02-16 16:30:43

标签: tree binary sum elixir

我是灵丹妙药的新手,我有一个疑问,那就是我在

二叉树

实现一个函数sum/1,该函数采用一个二叉树并返回该树中所有值的总和。该树表示如下:

 @type tree :: {:node, integer(), tree(), tree()} | nil

2 个答案:

答案 0 :(得分:1)

在长生不老药中需要执行在每个节点上执行的功能的示例在https://gist.github.com/kipcole9/43f9551e3c579a7d33e8daed10359c2c

基本上将问题分为两部分:

  1. 递归地行走树

  2. 将给定函数应用于当前节点的值,在左分支上执行该函数的结果以及在右分支上执行该函数的结果

    asyncio.run_coroutine_threadsafe(async_function(), bot.loop)
    

答案 1 :(得分:0)

尝试一下。

@type tree :: {:node, integer(), tree(), tree()} | nil

def sum(nil), do: 0

def sum({:node, int, l, r}) do

  int + sum(l) + sum(r)

end