zoukankan      html  css  js  c++  java
  • Path Sum II leetcode java

    题目

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.

    For example:
    Given the below binary tree and sum = 22,
                  5
                 / 
                4   8
               /   / 
              11  13  4
             /      / 
            7    2  5   1
    

    return

    [
       [5,4,11,2],
       [5,8,4,5]
    ]

    题解
    这道题除了要判断是否有这样的一个path sum,还需要把所有的都可能性结果都返回,所以就用传统的DFS递归解决子问题。代码如下:
     1     public void pathSumHelper(TreeNode root, int sum, List <Integer> sumlist, List<List<Integer>> pathlist){
     2         if(root==null
     3             return;
     4         sumlist.add(root.val);
     5         sum = sum-root.val;
     6         if(root.left==null && root.right==null){
     7             if(sum==0){
     8                 pathlist.add(new ArrayList<Integer>(sumlist));
     9             }
    10         }else{
    11             if(root.left!=null)
    12                 pathSumHelper(root.left,sum,sumlist,pathlist);
    13             if(root.right!=null)
    14                 pathSumHelper(root.right,sum,sumlist,pathlist);
    15         }
    16         sumlist.remove(sumlist.size()-1);
    17     }
    18     
    19     public List<List<Integer>> pathSum(TreeNode root, int sum) {
    20         List<List<Integer>> pathlist=new ArrayList<List<Integer>>();
    21         List<Integer> sumlist = new ArrayList<Integer>();
    22         pathSumHelper(root,sum,sumlist,pathlist);
    23         return pathlist;
    24     }

  • 相关阅读:
    大数据架构师技能图谱
    2018年,Java程序员转型大数据开发,是不是一个好选择?
    如何将java web项目上线/部署到公网
    Flume调优
    Spark流处理调优步骤
    zookeeper的WEB客户端zkui使用
    HBase各版本对Hadoop版本的支持情况
    java 代码实现使用Druid 链接池获取数据库链接
    安装postgreSQL出现configure: error: zlib library not found解决方法
    修改postgres密码
  • 原文地址:https://www.cnblogs.com/springfor/p/3879827.html
Copyright © 2011-2022 走看看