1302. Deepest Leaves Sum
Medium
Given the
root
of a binary tree, return the sum of values of its deepest leaves.
Example 1:
Input: root = [1,2,3,4,5,null,6,7,null,null,null,null,8] Output: 15
Example 2:
Input: root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5] Output: 19
Constraints:
- The number of nodes in the tree is in the range
[1, 104]
. 1 <= Node.val <= 100
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { int maxSum = Integer.MIN_VALUE; int maxLevel = -1; public int deepestLeavesSum(TreeNode root) { if(root==null) return 0; helper(root, 0); return maxSum; } void helper(TreeNode node, int level){ if(node==null) return; // System.out.println(node.val+" "+level); if(node.left==null && node.right==null){ if(level==maxLevel) maxSum += node.val; else if(level>maxLevel){ maxSum = node.val; maxLevel = level; } }else{ helper(node.left, level+1); helper(node.right, level+1); } } } |
No comments:
Post a Comment