[求助]怎么用clojure获取树状数据结构的最大深度?

下面这个向量的每个元素的四个数字分别表示当前元素的下一个同级无素、前一个同级元素、 第一个子元素、父元素。比如0号元素[2 -1 1 -1]表示它的下一个同级元素是2号元素,没有 前一个同级元素,第一个子元素是1号元素,没有父元素。

[[2 -1 1 -1]
 [-1 -1 -1 0]
 [4 0 3 -1]
 [-1 -1 -1 2]
 [6 2 5 -1]
 [-1 -1 -1 4]
 [8 4 7 -1]
 [-1 -1 -1 6]
 [10 6 9 -1]
 [-1 -1 -1 8]
 [12 8 11 -1]
 [-1 -1 -1 10]
 [-1 10 -1 -1]]

我想求每个元素的最大深度,费了很大劲写了一个递归,没跑起来。能不能帮我看看这 个问题有没有什么简单解法,我感觉自己应该是哪里想错了。