257. 二叉树的所有路径

题目

给定一个二叉树,返回所有从根节点到叶子节点的路径。

说明: 叶子节点是指没有子节点的节点。

  1. 输入:
  2. 1
  3. / \
  4. 2 3
  5. \
  6. 5
  7. 输出: ["1->2->5", "1->3"]
  8. 解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3

答案

var binaryTreePaths = function(root) {
    let ans = [];
    function dfs(curr, node) {
        if(!node.left && !node.right) ans.push(curr)
        let connect = curr === '' ? '' : '->';
        if(node.left) dfs(curr + connect + node.left.val, node.left);
        if(node.right) dfs(curr + connect + node.right.val, node.right);
    }
    if(root) dfs(String(root.val), root) 
    return ans
};