257. Binary Tree Paths

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"]
这个使用递归来做是最合适的,从根节点开始,将每个经过的节点添加到路径里,并把路径传给子节点,直到没有子节点。

/**
 * 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 a = [];
    if (!root) {
        return a;
    }
    var path = "";
    var help = function(root,path) {
        if (!root.left&&!root.right) {
            path = path + root.val;
            a.push(path);
            return;
        }
        path = path + root.val +"->";
        if (root.right) 
            help(root.right,path); 
        if (root.left) 
            help(root.left,path);    
    }
    help(root,path);
    return a;
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容