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     }

  • 相关阅读:
    AVCODEC_MAX_AUDIO_FRAME_SIZE 未定义标识符
    ffmpeg -使用总结
    ubuntu 编译安装ffmpeg
    转-查看Linux CPU个数,核心,线程数
    fpga是什么
    div自适应水平垂直居中的方法
    css百分比问题——`top`、`left`、'translate'的百分比参照谁?
    经典面试题:二分查找/折半查找
    JavaScript预解析
    React--组件
  • 原文地址:https://www.cnblogs.com/springfor/p/3879827.html
Copyright © 2011-2022 走看看