Java实现 LeetCode 112 路径总和
2023-09-14 08:58:07 时间
112. 路径总和
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。
说明: 叶子节点是指没有子节点的节点。
示例:
给定如下二叉树,以及目标和 sum = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。
class Solution {
public boolean hasPathSum(TreeNode root, int sum) {
if (root == null) {
return false;
}
if (root.left == null && root.right == null) {
return sum - root.val == 0;
}
return hasPathSum(root.left, sum - root.val)
|| hasPathSum(root.right, sum - root.val);
}
}
相关文章
- Java实现 LeetCode 831 隐藏个人信息(暴力)
- Java实现 LeetCode 769 最多能完成排序的块(单向遍历)
- Java实现 LeetCode 765 情侣牵手(并查集 || 暴力)
- Java实现 LeetCode 659 分割数组为连续子序列 (哈希)
- Java实现 LeetCode 648 单词替换(字典树)
- Java实现 LeetCode 646 最长数对链(暴力)
- Java实现 LeetCode 542 01 矩阵(暴力大法,正反便利)
- Java实现 LeetCode 463 岛屿的周长
- Java实现 LeetCode 414 第三大的数
- Java实现 LeetCode 373 查找和最小的K对数字
- Java实现 LeetCode 349 两个数组的交集
- Java实现 LeetCode 297 二叉树的序列化与反序列化
- Java实现 LeetCode 218 天际线问题
- Java实现 LeetCode 207 课程表
- Java实现 LeetCode 171 Excel表列序号
- Java实现 LeetCode 76 最小覆盖子串
- Java实现 LeetCode 62 不同路径
- Java实现 LeetCode 34 在排序数组中查找元素的第一个和最后一个位置
- Java实现 LeetCode 20 有效的括号
- Java实现 LeetCode 18 四数之和
- Java实现 LeetCode 6 Z字形变换
- Java实现LeetCode_0027_RemoveElement
- Java实现 LeetCode 242 有效的字母异位词