Leetcode: Sum Root to Leaf Numbers

Basic tree traverse


Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.

An example is the root-to-leaf path 1->2->3 which represents the number 123.

Find the total sum of all root-to-leaf numbers.

For example,
    1
   / \
  2   3

The root-to-leaf path 1->2 represents the number 12.

The root-to-leaf path 1->3 represents the number 13.

Return the sum = 12 + 13 = 25.

Github: code.dennyzhang.com

Credits To: leetcode.com

## Blog link: https://code.dennyzhang.com/sum-root-to-leaf-numbers
## Idea: BFS
## Complexity:
class Solution(object):
    def sumNumbers(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        res = 0
        if root is None:
            return 0
        queue = []
        queue.append((root, root.val))
        while len(queue) != 0:
            (node, value) = queue[0]
            del queue[0]
            if node.left:
                queue.append((node.left, value*10 + node.left.val))
            if node.right:
                queue.append((node.right, value*10 + node.right.val))
            # left node
            if node.left is None and node.right is None:
                res += value
        return res

<div style=”overflow: hidden;”>

<div style=”float: left; padding: 5px”> <a href=”https://www.linkedin.com/in/dennyzhang001“><img src=”linkedin.png” alt=”linkedin” /></a></div>

<div style=”float: left; padding: 5px”><a href=”https://github.com/dennyzhang“><img src=”github.png” alt=”github” /></a></div>

<div style=”float: left; padding: 5px”><a href=”https://www.dennyzhang.com/slack” target=”_blank” rel=”nofollow”><img src=”slack.png” alt=”slack”/></a></div>

</div>


Share It, If You Like It.

Leave a Reply

Your email address will not be published.