path-sum
来源:互联网 发布:自己网络用语怎么说 编辑:程序博客网 时间:2024/06/10 02:06
题目描述
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.
For example:
Given the below binary tree andsum = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
return true, as there exist a root-to-leaf path5->4->11->2which sum is 22.
非递归实现
import java.util.LinkedList;public class Solution { public boolean hasPathSum(TreeNode root, int sum) { if(root == null) return false; LinkedList<TreeNode> nodes = new LinkedList<TreeNode>(); LinkedList<Integer> values = new LinkedList<Integer>(); nodes.add(root); values.add(root.val); while(!nodes.isEmpty()){ TreeNode curr = nodes.poll(); int curSum = values.poll(); if(curr.left == null && curr.right == null && curSum==sum){//遍历到叶子节点 return true; } if(curr.left != null){ nodes.add(curr.left); values.add(curSum+curr.left.val); } if(curr.right != null){ nodes.add(curr.right); values.add(curSum+curr.right.val); } } return false; }}
递归实现
public class Solution { public boolean hasPathSum(TreeNode root, int sum) { if(root==null) return false; if(root.left==null && root.right == null && root.val-sum==0) return true; return hasPathSum(root.left,sum-root.val) || hasPathSum(root.right,sum-root.val); }}
0 0
- Path Sum && Path Sum ||
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- 获取 非行间样式
- javascript task pool的设计与实现
- 早绑定的问题与动态绑定
- mysql初学
- DFS基础 POJ1321 棋盘问题
- path-sum
- 图像处理(卷积)
- improve your python code(5)
- ENVI标准格式转换为tif格式2
- c++ 中指针运算符->与成员运算符. 的区别
- [最大权闭合子图] BZOJ 4873 [Shoi2017]寿司餐厅
- 【CodeForces 797A】k-Factorization(分解质因数)
- GDOI 2017 蒟蒻游记
- 字符串“水”题(状压DP + map哈希总结)