• *Path Sum II


    题目:

    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     }

    reference:http://www.cnblogs.com/springfor/p/3879827.html







  • 相关阅读:
    groovy脚本语言基础1
    014.Ansible Playbook Role 及调试
    013.Ansible Playbook include
    012.Ansible高级特性
    011.Ansible条件语句
    010.Ansible_palybook 循环语句
    009.Ansible模板管理 Jinja2
    008.Ansible文件管理模块
    007.Ansible变量Fact,魔法变量和lookup生成变量
    006.Ansible自定义变量
  • 原文地址:https://www.cnblogs.com/hygeia/p/4703656.html
Copyright © 2020-2023  润新知