[Leetcode] Path Sum
来源:互联网 发布:网络文明绘画图片大全 编辑:程序博客网 时间:2024/06/05 06:58
题目:
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 and
sum = 22
, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1
return true, as there exist a root-to-leaf path 5->4->11->2
which sum is 22.
思路:DFS,遇到叶子结点判断和。
class Solution {public: int trace; bool path_sum_helper(TreeNode* root, int sum) { if (root == nullptr) return false; trace += root->val; if (root->left == nullptr && root->right == nullptr) { if (trace == sum) return true; trace -= root->val; return false; } if (path_sum_helper(root->left, sum)) return true; if (path_sum_helper(root->right, sum)) return true; trace -= root->val; return false; } bool hasPathSum(TreeNode *root, int sum) { trace = 0; return path_sum_helper(root, sum); }};
总结:复杂度为O(2^n).
0 0
- leetcode Path Sum && Path Sum ||
- 【Leetcode】Path Sum (Sum)
- leetcode:leetcode :Path Sum
- 【Leetcode】Path Sum II (Sum)
- LeetCode: Minimum Path Sum
- LeetCode: Path Sum
- LeetCode: Path Sum II
- LeetCode Minimum Path Sum
- LeetCode Path Sum
- LeetCode Path Sum II
- [Leetcode] Path Sum
- [Leetcode] Path Sum II
- LeetCode : Minimum Path Sum
- [Leetcode] Minimum Path Sum
- LeetCode: Path Sum
- LeetCode: Path Sum II
- [LeetCode] Path Sum
- [LeetCode] Path Sum II
- C语言实现两数交换函数
- java面试题及答案(基础题122道,代码题19道)
- 二 unicode字库制作(智源GM813X多国语言OSD开发)
- Android程序ant打包
- 研读代码必须掌握的五个Eclipse快捷键
- [Leetcode] Path Sum
- DVB and EPG
- 部署新应用shell
- 文件上传
- tiny 4412---启动相关的大体分析
- android之SurfaceView,SurfaceHolder,SurfaceHolder.CallBack.
- 黑马程序员——从零开始学java程序(第四天)
- xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
- 移动web前端开发