zoukankan      html  css  js  c++  java
  • [leetcode]257. Binary Tree Paths二叉树路径

    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

    题目

    给定一棵二叉树,求出所有根到叶的路径。

    思路

    DFS, Very straightforward

    代码

     1 class Solution {
     2     public List<String> binaryTreePaths(TreeNode root) {
     3         List<String> result = new ArrayList<>();
     4         if(root == null) return result;
     5         helper(root, result, "");
     6         return result;
     7     }
     8     
     9     private  void helper (TreeNode root, List<String> result,  String path){
    10         // leaf node
    11         if(root.left ==null && root.right ==null) {
    12            result.add(path + root.val); 
    13         }
    14         // dfs
    15         if(root.left!=null){
    16             helper(root.left, result, path+root.val+ "->");
    17         }
    18         if(root.right!=null){
    19             helper(root.right, result, path+root.val+"->");
    20         }     
    21     } 
    22 }
  • 相关阅读:
    Mybatis懒加载
    Mybatis 动态SQL
    Mybatis的多表查询
    linux selinux
    linux find/vi复制粘贴
    01-oracle限定查询-20190404
    awk
    sed
    windows删除指定日期前的文件
    win10 sshsecureshellclient删除profile保存的信息
  • 原文地址:https://www.cnblogs.com/liuliu5151/p/9820373.html
Copyright © 2011-2022 走看看