Description:
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. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public Listpaths; public List path; public List binaryTreePaths(TreeNode root) { paths = new ArrayList (); path = new ArrayList (); getAllPath(root); return paths; } public void getAllPath(TreeNode node) { // 1 // / \ // 2 3 ["1->2->5", "1->3"] // \ // 5 if(node == null) { return ; } path.add(node.val); if(node.left==null && node.right==null) { StringBuilder onePath = new StringBuilder(); for(int i=0; i "); onePath.append(path.get(i)); } paths.add(onePath.toString()); } getAllPath(node.left); getAllPath(node.right); path.remove(path.size() - 1); }}