257. Binary Tree Paths 257.二叉树路径

Posted immiao0319

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了257. Binary Tree Paths 257.二叉树路径相关的知识,希望对你有一定的参考价值。

Given a binary tree, return all root-to-leaf paths.

Note: A leaf is a node with no children.

Example:

Input:

   1
 /   2     3
   5

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

Explanation: All root-to-leaf paths are: 1->2->5, 1->3

这种路径题的也不一定要用root.right = ,路径内容:DFS(起点,过程,结果)


recursive的三种模板:

root.left = trimBST(root.left, L, R);自己等于自己的调用

convertBST(root.right); 就光是自己
node.left = helper(nums, left, mid - 1); index

 

helper() 就还是左右都加?这中间怎么权衡的啊。左边的计算就只包括左边一线,这是traverse的自带优势。以前不懂。

 

叶子节点的特征是左右都没东西了,这个需要利用。从而找到一个字符串的开头。

 

技术图片
class Solution {
    public List<String> binaryTreePaths(TreeNode root) {
        List<String> ans = new ArrayList<String>();
        //cc
        if (root == null) return ans;
        findBT(root, "", ans);
        return ans;
    }
    
    public void findBT(TreeNode root, String path, List<String> ans) {
        //边界情况,叶子节点
        if ((root.left == null) && (root.right == null))
            ans.add(path + root.val);
        
        //左右递归
        if (root.left != null)
            findBT(root.left, path + root.val + "->", ans);
        if (root.right != null)
            findBT(root.right, path + root.val + "->", ans);
    }
}
View Code

 

 

以上是关于257. Binary Tree Paths 257.二叉树路径的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode257. Binary Tree Paths 解题报告

257. Binary Tree Paths

257.Binary Tree Paths

257. Binary Tree Paths

257. Binary Tree Paths

257. Binary Tree Paths 257.二叉树路径