LeetCode解题报告 112. Path Sum [easy]

原创 2017年01月03日 11:13:01

题目要求

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.

解题思路

题目要求判断是否存在一条从跟节点到叶子节点的路径,路径上的节点之和等于给出的sum。用最基本的DFS即可,判断该节点左右子树是否为空且节点值等于sum,如果是则返回true,而后将sum的值减去跟节点的val值,递归循环判断左孩子节点和右孩子节点,其中一个满足即可。

复杂度分析

时间复杂度为O(N)

代码如下:

class Solution {
public:
    bool hasPathSum(TreeNode* root, int sum) {
        if (root==NULL) {
            return false;
        }
        
        if (root->val==sum&&root->left==NULL&&root->right==NULL) {
            return true;
        }
        sum=sum-root->val;
        return hasPathSum(root->left, sum)||hasPathSum(root->right, sum);
    }
};


相关文章推荐

LeetCode解题报告 1. Two Sum[easy]

前言 之前听说过很多次LeetCode在面试中的大量应用,通过本次算法课可以开始题目的练习觉得还是很不错的。 题目描述1. Two Sum[easy] Given an array of intege...

【LeetCode】Binary Tree Maximum Path Sum 解题报告

【题目】 Given a binary tree, find the maximum path sum. The path may start and end at any node ...
  • ljiabin
  • ljiabin
  • 2015年01月22日 16:15
  • 3077

Leetcode 124. Binary Tree Maximum Path Sum 最大路径和 解题报告

1 解题思想在二叉树当中,找到一条路径,这条路径的和最大。这里所谓的路径,就是每个节点只经过一次的一条路径,可以选择在任何节点开始,也可以选择在任何节点结束本质上,其有点像用DP的递归方式搜索,因为每...
  • MebiuW
  • MebiuW
  • 2016年10月13日 19:13
  • 447

[leetcode]124. Binary Tree Maximum Path Sum@Java解题报告

https://leetcode.com/problems/binary-tree-maximum-path-sum/discuss/ Given a binary tree, ...

[Leetcode 112, Easy] Path sum I

[Leetcode 112, Easy] Path sum I

leetcode解题之112 & 113 & 437. Path Sum java版(二叉树路径和)

112. Path Sum ,113. Path Sum II,437. Path Sum III, leetcode解题之112 & 113 & 437. Path Sum java版(二叉树路径和...

leetCode 112.Path Sum (路径和) 解题思路和方法

Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all...

[Leetcode] 329. Longest Increasing Path in a Matrix 解题报告

题目: Given an integer matrix, find the length of the longest increasing path. From each cell,...

[leetcode] 307. Range Sum Query - Mutable 解题报告

题目链接: https://leetcode.com/problems/range-sum-query-mutable/ Given an integer array nums, find the...

LeetCode 1.Two Sum 解题报告

LeetCode 1. Two Sum 解题报告
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode解题报告 112. Path Sum [easy]
举报原因:
原因补充:

(最多只允许输入30个字)