我正在try 编写一个尾部递归函数CONTAINS(TREE,ELEMENT),如果元素存在于二叉树中,则返回TRUE,否则返回FALSE.
我写了递归函数,问题是我不知道如何使它尾部递归
let leaf = { val: 6 }
let tree = {
val: 10,
sx: {
val: 5,
sx: {
val: 13
},
dx: leaf
},
dx: {
val: 32,
sx: null,
dx: null
}
}
function contains(t,x) {
if(t.val == x)
return 1;
let res = 0 ;
if(t.sx)
res += contains(t.sx,x)
if(t.dx)
res += contains(t.dx,x)
return Boolean(res)
}
console.log(contains(tree,6))