专栏首页desperate633LintCode 二叉树的所有路径题目样例分析代码

LintCode 二叉树的所有路径题目样例分析代码

题目

给一棵二叉树,找出从根节点到叶子节点的所有路径。

样例

给出下面这棵二叉树:

binaryTree1.PNG

所有根到叶子的路径为:

binaryTree2.PNG

分析

显然本道题可以使用递归算法。每天路径结束的条件的是遇到叶子节点,该树有多少个叶子节点就会有多少路径。 分别递归求解左子树和右子树。

代码

/**
 * 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
        List result = new ArrayList<String>();
        if(root == null)
            return result;
        binaryTreePathsCore(root,result, root.val + "" );
        return result;
    }
    
    void binaryTreePathsCore(TreeNode root,List<String> str,String strpath)
    {
        if(root.left==null&&root.right==null)//叶子结点
        {
            str.add(strpath);
            return;
        }
        if(root.left!=null)
            binaryTreePathsCore(root.left,str,strpath+"->"+ root.left.val);
        if(root.right!=null)
            binaryTreePathsCore(root.right,str,strpath+"->"+ root.right.val);
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LintCode Binary Tree Maximum Node二叉树的最大节点分析代码

    Find the maximum node in a binary tree, return the node.

    desperate633
  • LintCode 验证二叉查找树题目分析代码

    2 / 1 4 / 3 5 上述这棵二叉树序列化为 {2,1,4,#,#,3,5}.

    desperate633
  • LintCode 二叉树的最小深度题目代码

    desperate633
  • python中创建和遍历二叉树

    py3study
  • Linux工作目录切换命令

    心跳包
  • 剑指Offer - 面试题54. 二叉搜索树的第k大节点(二叉树循环遍历)

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kd...

    Michael阿明
  • 利用rbd命令把 ceph pool 中的一个镜像导出

    查看镜像 [root@node1 ~]# rbd ls images a56330e7-79d7-4639-a68f-366ac344bfe2 eccfee07...

    院长技术
  • 浏览器环境检测

    本文是直接把seleniumpyppeteer 以及正常打开浏览器 的环境差异直接列出来

    爬虫
  • 每天一道剑指offer-二叉树的镜像

    今天的题目 每天的题目见github(看最新的日期): https://github.com/gzc426 具体的题目可以去牛客网对应专题去找。

    乔戈里
  • 【趣学程序】Linux流的重定向

    趣学程序-shaofeer

扫码关注云+社区

领取腾讯云代金券