码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer24

时间:2018-01-21 14:54:12      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:author   ret   开始   java   use   new   val   roo   整数   

package jianzhiOffer; import java.util.ArrayList; /**  * 输入一颗二叉树和一个整数,打印出二叉树中结点值的和  * 为输入整数的所有路径。路径定义为从树的根结点开始往  * 下一直到叶结点所经过的结点形成一条路径。  * @author user  * 思路:既然某一条路径加起来的值为target,那么就用  * target从根节点进行减,减到叶节点时,如果值为零,  * 则这条路径可以用。  * 采用递归的思路:先让target减去根节点,再减它的子节点  * ,再减子节点的子节点,以此一直递归下去  */ class TreeNode4 {     int val = 0;     TreeNode4 left = null;     TreeNode4 right = null;     public TreeNode4(int val) {         this.val = val;     } } public class ch24 { ArrayList<Integer> list = new ArrayList<>(); ArrayList<ArrayList<Integer>> listAll = new ArrayList<>(); public ArrayList<ArrayList<Integer>> FindPath(TreeNode4 root,int target) {         if(root == null) return listAll;         list.add(root.val);         target -= root.val;         if(target == 0 && root.left == null && root.right == null) listAll.add(new ArrayList<Integer>(list));         FindPath(root.left, target);         FindPath(root.right, target);         list.remove(list.size() - 1);         return listAll;     } }


剑指offer24

标签:author   ret   开始   java   use   new   val   roo   整数   

原文地址:http://blog.51cto.com/12222886/2063350

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!