博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 112. Path Sum
阅读量:5278 次
发布时间:2019-06-14

本文共 1175 字,大约阅读时间需要 3 分钟。

原题链接在这里:

题目:

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==0即可。

Time Complexity: O(n), worst case是每个node都跑了一次.

Space: O(logn), stack space.

AC Java:

1 /** 2  * Definition for a binary tree node. 3  * public class TreeNode { 4  *     int val; 5  *     TreeNode left; 6  *     TreeNode right; 7  *     TreeNode(int x) { val = x; } 8  * } 9  */10 public class Solution {11     public boolean hasPathSum(TreeNode root, int sum) {12         if(root == null){13             return false;14         }15         sum-=root.val;16         if(root.left == null && root.right == null && sum == 0){17             return true;18         }else{19             return hasPathSum(root.left,sum) || hasPathSum(root.right,sum);20         }21     }22 }

跟上, , .

转载于:https://www.cnblogs.com/Dylan-Java-NYC/p/4980676.html

你可能感兴趣的文章
HDU ACM【1001~1004】
查看>>
【原】Win7 host 与 virtualbox ubuntu guest 相同ping通
查看>>
jQuery的$.ajax方法响应数据类型有哪几种?本质上原生ajax响应数据格式有哪几种,分别对应哪个属性?...
查看>>
第8章 IO类
查看>>
Insert data from excel to database
查看>>
用户控件赋值
查看>>
NodeJs读取源代码使用的字符集
查看>>
《Linux命令、编辑器与shell编程》第三版 学习笔记---000
查看>>
Ajax学习
查看>>
python类及其方法
查看>>
混合连接(解决通路歧义)
查看>>
Vue http.get vue-resource
查看>>
转载:JVM GC机制
查看>>
EGL 1.0 学习笔记
查看>>
关于bootstrap时间控件datetimepicker的位置错乱问题
查看>>
上班第一天,挑战算法大牛们,你能做出来吗
查看>>
E4 - Eclipse 4.x 和 XWT的关系
查看>>
1257: [CQOI2007]余数之和sum - BZOJ
查看>>
软件包管理
查看>>
iOS开发-仿微信图片分享界面实现
查看>>