牛客题霸 NC14 按之字形顺序打印二叉树

Posted Starzkg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客题霸 NC14 按之字形顺序打印二叉树相关的知识,希望对你有一定的参考价值。

https://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0

解决方案

Go

func Print(pRoot *TreeNode) [][]int {
	NC14dfs(pRoot, 0)
	return NC14ans
}

var NC14ans = make([][]int, 0)

func NC14dfs(pRoot *TreeNode, num int) {
	if pRoot == nil {
		return
	}
	if len(NC14ans) == num {
		NC14ans = append(NC14ans, []int{})
	}
	if num%2 == 1 {
		NC14ans[num] = append(NC14ans[num], pRoot.Val)
	} else {
		NC14ans[num] = append([]int{pRoot.Val}, NC14ans[num]...)
	}
	if pRoot.Right != nil {
		NC14dfs(pRoot.Right, num+1)
	}
	if pRoot.Left != nil {
		NC14dfs(pRoot.Left, num+1)
	}
}

参考文章

以上是关于牛客题霸 NC14 按之字形顺序打印二叉树的主要内容,如果未能解决你的问题,请参考以下文章

牛客题霸 NC12 重建二叉树

牛客题霸 NC13 二叉树的最大深度

牛客题霸 NC16 判断二叉树是否对称

牛客题霸 NC6 二叉树的最大路径和

牛客题霸 NC15 求二叉树的层序遍历

牛客题霸 NC9 二叉树中是否存在节点和为指定值的路径