标签:
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"]
https://leetcode.com/problems/binary-tree-paths/
树的遍历,一个递归搞定。
每次都加上"->value",最后去掉最前面的"->"。
1 /** 2 * Definition for a binary tree node. 3 * function TreeNode(val) { 4 * this.val = val; 5 * this.left = this.right = null; 6 * } 7 */ 8 /** 9 * @param {TreeNode} root 10 * @return {string[]} 11 */ 12 var binaryTreePaths = function(root) { 13 var res = []; 14 if(root && root.val !== undefined){ 15 getPaths(root, ""); 16 } 17 return res; 18 19 function getPaths(node, path){ 20 var isLeaf = true; 21 if(node.left){ 22 isLeaf = false; 23 getPaths(node.left, path + "->" + node.val); 24 } 25 if(node.right){ 26 isLeaf = false; 27 getPaths(node.right, path + "->" + node.val); 28 } 29 if(isLeaf){ 30 var tmp = path + "->" + node.val; 31 res.push(tmp.substring(2, tmp.length)); 32 } 33 } 34 };
[LeetCode][JavaScript]Binary Tree Paths
标签:
原文地址:http://www.cnblogs.com/Liok3187/p/4735368.html