博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树的路径和
阅读量:5818 次
发布时间:2019-06-18

本文共 1452 字,大约阅读时间需要 4 分钟。

1 /** 2 * Definition of TreeNode: 3 * public class TreeNode { 4 *     public int val; 5 *     public TreeNode left, right; 6 *     public TreeNode(int val) { 7 *         this.val = val; 8 *         this.left = this.right = null; 9 *     }10 * }11 */12 public class Solution {13     /*14      * @param root: the root of binary tree15      * @param target: An integer16      * @return: all valid paths17      */18     private int sum = 0;19     private List
> result = new ArrayList
>();20 private List
path = new ArrayList
();21 public List
> binaryTreePathSum(TreeNode root, int target) {22 // write your code here23 calculate(root, target);24 return result;25 }26 27 public void calculate(TreeNode node, int target) {28 if(node != null) {29 sum += node.val;30 path.add(node.val);31 if (sum == target && node.left == null && node.right == null) {32 List
temp = new ArrayList
(path); //拷贝path33 result.add(temp);34 sum -= node.val; //回溯到父节点状态35 path.remove(path.size()-1); //回溯到父节点状态36 return;37 }38 if (node.left == null && node.right == null) {39 sum -= node.val; //回溯到父节点状态40 path.remove(path.size()-1); //回溯到父节点状态41 return;42 }43 calculate(node.left, target);44 calculate(node.right, target);45 sum -= node.val; //回溯到父节点状态46 path.remove(path.size()-1); //回溯到父节点状态47 }48 }49 }

代码有点乱,有待改进。 

转载于:https://www.cnblogs.com/neilshi/p/7802974.html

你可能感兴趣的文章
Python数据分析:手写数字识别初步
查看>>
ORM跨表查询问题
查看>>
Django模板语言相关内容
查看>>
Vue2.x中的Render函数
查看>>
何止 Linq 的 Distinct 不给力(转)
查看>>
C++多态下的访问修饰符
查看>>
【Maven学习】Nexus私服代理其他第三方的Maven仓库
查看>>
Algs4-1.3.23为什么下面的代码和1.3.22效果不同
查看>>
Algs4-1.3.36随机迭代器
查看>>
jQuery快速入门
查看>>
08-03-re-模块
查看>>
.NET下的多线程编程-3.利用构造函数传递参数
查看>>
Python学习记录——文件操作
查看>>
hausaufgabe--python 32 - Exception
查看>>
二分图匹配及其相关问题
查看>>
test1
查看>>
OpenCV教程
查看>>
Android 注解的一些应用以及原理
查看>>
android中service启动后台程序
查看>>
盒布局
查看>>