Golang | Leetcode Golang题解之第129题求根节点到叶节点数字之和

作者 : admin 本文共384个字,预计阅读时间需要1分钟 发布时间: 2024-06-16 共1人阅读

题目:

Golang | Leetcode Golang题解之第129题求根节点到叶节点数字之和插图

题解

type pair struct {
    node *TreeNode
    num  int
}

func sumNumbers(root *TreeNode) (sum int) {
    if root == nil {
        return
    }
    queue := []pair{{root, root.Val}}
    for len(queue) > 0 {
        p := queue[0]
        queue = queue[1:]
        left, right, num := p.node.Left, p.node.Right, p.num
        if left == nil && right == nil {
            sum += num
        } else {
            if left != nil {
                queue = append(queue, pair{left, num*10 + left.Val})
            }
            if right != nil {
                queue = append(queue, pair{right, num*10 + right.Val})
            }
        }
    }
    return
}
本站无任何商业行为
个人在线分享 » Golang | Leetcode Golang题解之第129题求根节点到叶节点数字之和
E-->