type Tree = {
value: number;
left?: Tree;
right?: Tree;
}
const tree: Tree = {
value: 1,
left: {
value: 2,
right: { value: 5 }
},
right: { value: 3 }
};
function treePath(root: Tree): string[] {
if (!root) return [];
const res: string[] = [];
function dfs(curNode: Tree, curPath: string = '') {
if (!curNode.left && !curNode.right) {
res.push(curPath);
}
if (curNode.left) {
dfs(curNode.left, `${curPath}->${curNode.left.value}`);
}
if (curNode.right) {
dfs(curNode.right, `${curPath}->${curNode.right.value}`);
}
}
dfs(root, `${root.value}`);
return res;
}
console.log(treePath(tree))
export default {}