Leetcode #102. Binary Tree Level Order Traversal
简单来说我们要回传每一层树的值
ex:
3
/ \
2 10
/ / \
1 8 13
output: [[3],[2,10],[1,8,13]]
防雷
防雷
防雷
大家还记得preOrder吗?
preOrder是从上到下的走访,我们只要在DFS的时候,多带一个层数就可以解掉这题了~
程序:
func levelOrder(root *TreeNode) [][]int {
result := [][]int{}
if root == nil {
return result
}
DFS(&result, root, 0)
return result
}
func DFS(result *[][]int, node *TreeNode, level int) {
if node == nil {
return
}
// 把node的值 加到slice里面
if len(*result) <= level {
*result = append(*result, []int{node.Val})
} else {
(*result)[level] = append((*result)[level], node.Val)
}
// 层数要+1
DFS(result, node.Left, level+1)
DFS(result, node.Right, level+1)
}
<<: [Day21] Flutter GetX with animation
>>: Day 21 - 依 Home 前台页面分析拆解後,逐步建立後台功能 - GridView 事件应用 - ASP.NET Web Forms C#
前言 昨天讲了 display 当中的 Flex 属性 那今天就要来讲 display 当中的 Ju...
写到第 20 天,关於如何建立 Utility Type 所需的知识也差不多吿一个段落,今天就来做个...
Vue 里面的事件处理,使用的方式会跟一般 JavaScript 的用法相近,下面跟着一起看吧~ 事...
Object的metadata让我们能快速定位Object在什麽地方、属性等等,可以理解为类似资料库...
先让子弹打到敌机,可以让敌机受伤.毁坏,那首先给敌机一个受伤的动画,这次就用Animation创造一...