day148-LeetCode 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”]

分析

和找深度的二叉树那个类似,这里是把找到的路径记录下来
从root节点开始走,一直到最后的节点没有左右节点,就是一条路径

题解

function findTreePath (nodes) {
if (!nodes) return
// 存储记录的路径
let treePathList = []
findPath(root, '')
return treePathList
function findPath (node, str) {
if (node.left === null && node.right === null) {
treePathList.push(str, node.val)
} else {
if (node.left !== null) {
// 累加路径
findPath(node.left, str + node.val + '->')
}
if (node.right !== null) {
findPath(node.right, str + node.val + '->')
}
}
}
}
文章作者: lmislm
文章链接: http://lmislm.com/2019/06/10/2019-06-10/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMISLMのBlog