dfs

class Solution:
    def sumRootToLeaf(self, root: TreeNode) -> int:
        stack=[(root,0)]
        ans=[]
        bi_str=[]
        while stack:
            node,level=stack.pop()
            s_len=len(bi_str)
            if s_len-1<level:
                bi_str.append(str(node.val))
            else:
                bi_str[level]=str(node.val)
                del bi_str[level+1:]
            if (not node.left) and (not node.right):
                ans.append(int(''.join(bi_str),2))
            if node.right:
                stack.append((node.right,level+1))
            if node.left:
                stack.append((node.left,level+1))
        return sum(ans)

 

相关文章:

  • 2021-10-01
  • 2021-11-03
  • 2021-06-04
  • 2021-12-09
  • 2022-02-02
  • 2022-12-23
  • 2022-12-23
  • 2021-07-04
猜你喜欢
  • 2021-07-19
  • 2021-06-24
  • 2022-01-11
  • 2021-06-09
  • 2021-08-03
  • 2021-07-11
  • 2021-07-04
相关资源
相似解决方案