LeetCode—每日一题:求根到叶子节点数字之和(递归)

求根到叶子节点数字之和(中等)

2020年10月29日

题目来源:力扣

在这里插入图片描述

解题
通过递归,记录获得根到当前节点的取值,当某个节点的左右子节点为空则代表为叶子节点,那么加入到结果值中。

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    int result=0;
    public int sumNumbers(TreeNode root) {
        if(root==null)
            return 0;
        recur(root,root.val);
        return result;
    }
    public void recur(TreeNode root,int cur){
        if(root.left==null && root.right==null){
            result+=cur;
            return;
        }
        if(root.left!=null)
            recur(root.left,cur*10+root.left.val);
        if(root.right!=null)
            recur(root.right,cur*10+root.right.val);
    }
}

在这里插入图片描述

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页