From c1c4ef0f8e9e248479a20ad1764057176b296aba Mon Sep 17 00:00:00 2001 From: Matthew Huntington Date: Wed, 19 Apr 2023 12:52:21 -0400 Subject: [PATCH] getLeaves works with 5 --- random.js | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/random.js b/random.js index c8cb3e2..2e030c5 100644 --- a/random.js +++ b/random.js @@ -39,19 +39,24 @@ const breakDown = (node)=>{ return node; } -const tree = breakDown({value:9}); +const tree = breakDown({value:5}); console.dir(tree, {depth:null}); -//const getLeaves = (node, leafArray)=>{ - //if(node.left === undefined && node.right === undefined){ - //leafArray.push(node.value); - //} else { - //getLeaves(node.left, leafArray) - //getLeaves(node.right, leafArray) - //} - //return leafArray; -//} -//const leaves = getLeaves(tree, []); +const getLeaves = (node, leafArray)=>{ + if(node.twoPath === undefined){ + return node.value; + } + const leftValue = getLeaves(node.twoPath.left, leafArray) + const rightValue = getLeaves(node.twoPath.right, leafArray) + leafArray.push([leftValue, rightValue]); + if(node.threePath !== undefined){ + const leftValue = getLeaves(node.threePath.left, leafArray) + const rightValue = getLeaves(node.threePath.right, leafArray) + leafArray.push([leftValue, rightValue]); + } +} +const leaves = [] +getLeaves(tree, leaves); -//console.log(leaves); +console.log(leaves);