美文网首页
Leetcode Path sum 路径求和III II

Leetcode Path sum 路径求和III II

作者: 泡泡爱上巧克力_7122 | 来源:发表于2018-07-24 09:50 被阅读0次

 437.路径总和 III

给定一个二叉树,它的每个结点都存放着一个整数值。

找出路径和等于给定数值的路径总数。

路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。

二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。

Solution:

首先我们从根节点出发,去遍历这个根节点下所有满足条件的路径数目,每次到达一个节点,将传入的参数sum减去root的val,这是一个递归。然后我们需要遍历所有的根节点,那么又需要一个递归去遍历。两层递归。

/**

* Definition for a binary tree node.

* public class TreeNode {

*    int val;

*    TreeNode left;

*    TreeNode right;

*    TreeNode(int x) { val = x; }

* }

*/

class Solution {

    private int count = 0;

    public int pathSum(TreeNode root, int sum) {

        if(root==null) return 0;

        path(root,sum);

        pathSum(root.left,sum);

        pathSum(root.right,sum);

        return count;

    }

    public void path(TreeNode root,int sum){

        if(root==null) return;

        sum = sum-root.val;

        if(sum==0) count++;

        path(root.left,sum);

        path(root.right,sum);

    }

}


113. 路径总和 II

给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。

说明:叶子节点是指没有子节点的节点。

示例:

给定如下二叉树,以及目标和sum = 22,

有了上题的基础,这题就不难了,还是一样的思路,不同的是不需要遍历所有的根节点,而且需要我们遍历到叶子节点,处理方式就简单很多。

/** * Definition for a binary tree node. * 

public class TreeNode { int val; TreeNode left;  TreeNode right; TreeNode(int x) { val = x; }  } 

*/

class Solution {

 List <List<Integer>> list = new ArrayList<>(); 

 public List <List<Integer>> pathSum(TreeNode root, int sum) { 

     if(root==null) return list; 

     Listsublist = new ArrayList<>(); 

     path(root,sum,sublist); 

     return list;

 } 

 public void path(TreeNode root,int sum,List<Integer> sublist){

     if(root==null){ return; } 

     List asList = new ArrayList(sublist);

     sum = sum - root.val;

     asList.add(root.val);

     if(sum==0&&root.left==null&&root.right==null){

            list.add(new ArrayList(asList));return;

     }

     path(root.left,sum,asList);

     path(root.right,sum,asList);     

    }

}

相关文章

网友评论

      本文标题:Leetcode Path sum 路径求和III II

      本文链接:https://www.haomeiwen.com/subject/giqemftx.html