Given a binary tree, return all root-to-leaf paths.
For example, given the following binary tree:
1 / \ 2 3 \ 5
All root-to-leaf paths are:
["1->2->5", "1->3"]
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
Tags
Tree, DFS
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {string[]}
*/
var binaryTreePaths = function(root) {
var ret = [];
if(root === null) {
return ret;
}
helper(root, "");
return ret;
function helper(node, path) {
var isLeaf = true;
if(node.left) {
isLeaf = false;
helper(node.left, path + "->" + node.val);
}
if(node.right) {
isLeaf = false;
helper(node.right, path + "->" + node.val);
}
if(isLeaf) {
var tmp = path + "->" + node.val;
ret.push(tmp.substring(2, tmp.length));
}
}
};