【leetcode】112. Path Sum(Python & C++)
来源:互联网 发布:无法开启网络发现 编辑:程序博客网 时间:2024/06/06 02:09
112. Path Sum
题目链接
112.1 题目描述:
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.
112.2 解题思路:
- 思路一:递归,首先判断节点是否为空,若为空,则直接返回false。如果节点恰好是叶子节点,且该节点的值恰好为sum,则返回true,否则,则进入递归,分别判断该节点的左右子树,且此时的sum变为sum-此节点的值。因为只有有一条路存在即可,所以是或操作。
112.3 C++代码:
1、思路一代码(12ms):
class Solution103 {public: bool hasPathSum(TreeNode* root, int sum) { if (root == NULL) return false; if (root->left==NULL && root->right==NULL && root->val == sum) return true; else if (root->left == NULL && root->right == NULL && root->val != sum) return false; else return hasPathSum(root->left, sum - root->val) || hasPathSum(root->right, sum - root->val); }};
112.4 Python代码:
1、思路二代码(65ms):
class Solution(object): def hasPathSum(self, root, sum): """ :type root: TreeNode :type sum: int :rtype: bool """ if root==None: return False if root.left==None and root.right==None and root.val==sum: return True elif root.left==None and root.right==None and root.val!=sum: return False else: return self.hasPathSum(root.left, sum-root.val) or self.hasPathSum(root.right,sum-root.val)
阅读全文
0 0
- 【leetcode】112. Path Sum(Python & C++)
- [leetcode: Python]112. Path Sum
- Path Sum Leetcode Python
- 【Leetcode】【python】Path Sum
- LeetCode 64. Minimum Path Sum(Python)
- 【LeetCode with Python】 Path Sum
- 【LeetCode】【Python】Minimum Path Sum
- 【Leetcode】【python】Path Sum II
- 【Leetcode】【python】Minimum Path Sum
- [C++]LeetCode: 90 Path Sum
- 【leetcode c++】 112 Path Sum
- 【LeetCode-112】Path Sum(C++)
- LeetCode 112. Path Sum
- [LeetCode]112.Path Sum
- 【LeetCode】112.Path Sum
- [Leetcode] 112. Path Sum
- [leetcode] 112.Path Sum
- 112. Path Sum LeetCode
- MyBatis框架mapper映射器
- CentOS系统启动流程详解(一)
- hdu 6129 Just do it -规律
- 【PAT】【Advanced Level】1073. Scientific Notation (20)
- .NET Core 常用加密和Hash工具NETCore.Encryp
- 【leetcode】112. Path Sum(Python & C++)
- Iput子系统探究--1(input_dev)
- Python的from import和import的区别?
- cxf3.14+spring4.2以rest风格发布webservice
- 51nod1305 Pairwise Sum and Divide
- c和cpp比较(1)--读书笔记3
- java单例设计模式
- 达人篇:3)质量管理
- Linux系统中MySQL相关问题