1302. Deepest Leaves Sum

Link

Solution

  int count = 0;
    int deepest = 0;
    public int deepestLeavesSum(TreeNode root) {
        dfs(root, 0);
        return count;
    }
    
    public void dfs(TreeNode node, int level){
        if(node == null){ 
            return;
        }
        if(level > deepest){
            deepest = level;
            count = 0; //deepest更新時, count要歸0, 以避免左子樹較淺的情況
        }
        dfs(node.left, level+1);
        dfs(node.right, level+1);
        
        if(level == deepest){
            count += node.val;
        }
        
    }

Last updated

Was this helpful?