LeetCode之Sum Root to Leaf Number

2021-11-01  本文已影响0人  糕冷羊

问题:



方法:
递归,向下传递值并累加,当遇到叶子节点时将结果加到result上,最后即得到最终结果。

package com.eric.leetcode

class SumRootToLeafNumbers {
    var result = 0
    fun sumNumbers(root: TreeNode?): Int {
        result = 0
        root?.let { sum(it, 0) }
        return result
    }

    private fun sum(root: TreeNode, num: Int) {
        val newNum = num * 10 + root.`val`
        if (root.left == null && root.right == null) {
            result += newNum
        } else {
            root.left?.let { sum(it, newNum) }
            root.right?.let { sum(it, newNum) }
        }
    }
}

有问题随时沟通

具体代码实现可以参考Github

上一篇下一篇

猜你喜欢

热点阅读