[LeetCode]129、求根到叶子节点数字之和

题目描述

给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。

例如,从根到叶子节点路径 1->2->3 代表数字 123。

计算从根到叶子节点生成的所有数字之和。

说明: 叶子节点是指没有子节点的节点。

思路解析

先序遍历,在叶子的时候判断,更新和

class Solution:
    def sumNumbers(self, root):
        self.res = 0
        def helper(root, temp):
            if not root:
                return
            if not root.left and not root.right:
                self.res += int(temp + str(root.val))
            helper(root.left, temp + str(root.val))
            helper(root.right, temp + str(root.val))
        helper(root, "")
        return self.res
image.png

你可能感兴趣的:([LeetCode]129、求根到叶子节点数字之和)