1302. 层数最深叶子节点的和
Posted 心脏dance
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1302. 层数最深叶子节点的和相关的知识,希望对你有一定的参考价值。
题目链接:力扣
思路:bfs一层一层求和,当没有下一层的时候(就是队列为empty的时候)就是最后一层,记录下结果即可。
上代码:
/**
* Example:
* var ti = TreeNode(5)
* var v = ti.`val`
* Definition for a binary tree node.
* class TreeNode(var `val`: Int)
* var left: TreeNode? = null
* var right: TreeNode? = null
*
*/
class Solution
fun deepestLeavesSum(root: TreeNode?): Int
val queue = LinkedList<TreeNode>()
var result = 0
root?.let queue.add(it)
while (queue.isNotEmpty())
var currentSize = queue.size
var tmpResult = 0
while (currentSize-- > 0)
val tmp = queue.poll()
if (tmp.left == null && tmp.right == null)
tmpResult += tmp.`val`
else
tmp.left?.let queue.add(it)
tmp.right?.let queue.add(it)
if (queue.isEmpty())
result = tmpResult
return result
以上是关于1302. 层数最深叶子节点的和的主要内容,如果未能解决你的问题,请参考以下文章