二叉树的所有路径

原创 2016年05月31日 18:00:39

样例

给出下面这棵二叉树:

   1
 /   \
2     3
 \
  5

所有根到叶子的路径为:

[
  "1->2->5",
  "1->3"
]

/**

 * Definition of TreeNode:
 * public class TreeNode {
 *     public int val;
 *     public TreeNode left, right;
 *     public TreeNode(int val) {
 *         this.val = val;
 *         this.left = this.right = null;
 *     }
 * }
 */
public class Solution {
    /**
     * @param root the root of the binary tree
     * @return all root-to-leaf paths
     * 根左右 遍历
     */
    public List<String> binaryTreePaths(TreeNode root) {
        // Write your code here
        ArrayList<String> paths = new ArrayList<String>();
        String path = "";
        if (root == null){
            return paths;
        }
        searchPaths(root, paths, path);
        return paths;
    }
    public void searchPaths(TreeNode root, ArrayList<String> paths, String path){
        if (root == null){
            return;
        }
        if (root.left == null && root.right == null){
            if (path.equals("")){
                path += root.val;
            }
            else {
                path += "->" + root.val;
            }
            paths.add(path);//到叶子节点 将路径字符串加入list
        }
        //非叶子节点 将节点加入字符串保存
        if (path.equals("")){
            path += root.val;
        }
        else {
            path += "->" + root.val;
        }
        searchPaths(root.left, paths, path);
        searchPaths(root.right, paths, path);
    }
}

lintcode(480)——二叉树的所有路径

问题描述:给一棵二叉树,找出从根节点到叶子节点的所有路径 样例 给出下面这棵二叉树:1 / \ 2 3 \ 5 所有根到叶子的路径为:[ “1->2->5”...
  • nawuyao
  • nawuyao
  • 2016年04月07日 17:33
  • 1956

二叉树的所有路径

题目描述:给一棵二叉树,找出从根节点到叶子节点的所有路径。 样例: 递归 + 深搜的思路。还记得之前学过的用递归的方法解决二叉树的前序遍历的问题吗?点击打开链接,用的就是深搜的策略...
  • guoziqing506
  • guoziqing506
  • 2016年04月18日 13:29
  • 2482

打印二叉树所有路径---JAVA实现

思路:把当前结点存储到数组当中,如果当前结点为叶子结点就打印当前数组,采取递归的方式来进行操作。技巧一:就是数组的问题,所有路径结点都存到一个数组当中,由于数组传递是传址,改变数组指向内容的时候其他传...
  • u014494703
  • u014494703
  • 2016年03月27日 12:07
  • 1924

LintCode- 二叉树的所有路径

二叉树的所有路径 给一棵二叉树,找出从根节点到叶子节点的所有路径。 样例 给出下面这棵二叉树:1 / \ 2 3 \ 5 所有根到叶子的路径为:[ “1->2-...
  • Sunny_Ran
  • Sunny_Ran
  • 2016年02月26日 20:58
  • 1733

遍历整个二叉树的所有路径

如果将所有的二叉树的路径中的节点值的和的最大值 vector g_vec; int g_max=0; int maxPathSum(TreeNode *root) { if(root!=NULL...
  • dasgk
  • dasgk
  • 2015年07月31日 19:08
  • 1624

剑指offer:二叉树中和为某一值的所有路径(java)

题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶结点所经过的所有的结点形成一条路径。 如下图,输入二叉树和整数22,则打印出两条路径,第一条...
  • abc7845129630
  • abc7845129630
  • 2016年10月03日 20:39
  • 743

打印二叉树所有的路径

问题: 给一个二叉树,把所有的路径都打印出来。 比如,对于下面这个二叉树,它所有的路径为: 8 -> 3 -> 1 8 -> 2 -> 6 -> 4 8 -> 3 -> ...
  • samjustin1
  • samjustin1
  • 2016年09月17日 10:23
  • 556

二叉树路径求和

二叉树路径和 给定一棵二叉树,二叉树权值为0-9,得出所有根节点到叶节点的路径和。如下图的二叉树,路径和n=137+15=152      1           /\   ...
  • sinat_26935081
  • sinat_26935081
  • 2015年10月30日 23:00
  • 540

LintCode_480_二叉树的所有路径

给一棵二叉树,找出从根节点到叶子节点的所有路径。 您在真实的面试中是否遇到过这个题?  Yes 样例 给出下面这棵二叉树: 1 / \ 2 ...
  • zaynmalik
  • zaynmalik
  • 2016年04月19日 20:56
  • 222

[LintCode 480] 二叉树的所有路径(Python)

题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。样例 给出下面这棵二叉树: 1 / \ ...
  • yurenguowang
  • yurenguowang
  • 2017年08月29日 15:41
  • 1043
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二叉树的所有路径
举报原因:
原因补充:

(最多只允许输入30个字)