LeetCode 437 Path Sum III (DFS)
来源:互联网 发布:在淘宝买东西省钱的app 编辑:程序博客网 时间:2024/05/22 13:38
You are given a binary tree in which each node contains an integer value.
Find the number of paths that sum to a given value.
The path does not need to start or end at the root or a leaf, but it must go downwards(traveling only from parent nodes to child nodes).
The tree has no more than 1,000 nodes and the values are in the range -1,000,000 to 1,000,000.
Example:
root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 / \ 5 -3 / \ \ 3 2 11 / \ \3 -2 1Return 3. The paths that sum to 8 are:1. 5 -> 32. 5 -> 2 -> 13. -3 -> 11
Subscribe to see which companies asked this question
题目链接:https://leetcode.com/problems/path-sum-iii/
题目分析:因为只能向下,因此直接DFS即可,用个flag标记当前点是否可作为某次的起点
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { void DFS(TreeNode root, boolean flag, int cur, int sum, int[] ans) { cur += root.val; if (cur == sum) { ans[0] ++; } if (root.left != null) { DFS(root.left, false, cur, sum, ans); if (flag) { DFS(root.left, true, 0, sum, ans); } } if (root.right != null) { DFS(root.right, false, cur, sum, ans); if (flag) { DFS(root.right, true, 0, sum, ans); } } } public int pathSum(TreeNode root, int sum) { if (root == null) { return 0; } int[] ans = new int[1]; DFS(root, true, 0, sum, ans); return ans[0]; }}
0 0
- LeetCode 437 Path Sum III (DFS)
- LeetCode 437 Path Sum III
- leetcode-437-Path Sum III
- leetcode#437 Path Sum III
- LeetCode 437 Path Sum III
- LeetCode-Path Sum III
- path sum iii-leetcode
- Path Sum III ---LeetCode
- Leetcode | Path Sum III
- Leetcode Path Sum III
- LEETCODE--Path Sum III
- LeetCode -- Path Sum III
- LeetCode : Path Sum III
- leetcode 437. Path Sum III 深度优先遍历DFS
- leetcode 437. Path Sum III(路径和)(DFS)
- LeetCode No.437 Path Sum III
- LeetCode #437 - Path Sum III - Medium
- LeetCode 437 Path Sum III 题解
- httpurlconnection的编码
- 被说了很多遍的设计模式---外观模式
- 找最大值,最小值,累加
- go学习--切片
- Canvas基本使用
- LeetCode 437 Path Sum III (DFS)
- 使用API网关构建移动端友好的API服务
- 第八周—等差数列
- C++ 对象的内存布局(上)
- 无向图双连通分量(poj-3352)
- python问题:IndentationError:expected an indented block错误解决
- CodeForces 724B Batch Sort
- MySQL之——corosync+pacemaker+drbd+mysql实现MySQL高可用
- Mysql 解决 phpMyAdmin 上传文件 最大限制