专栏首页学习日记Golang Leetcode 662. Maximum Width of Binary Tree.go

Golang Leetcode 662. Maximum Width of Binary Tree.go

思路

dfs 遍历

code

type TreeNode struct {
	Val   int
	Left  *TreeNode
	Right *TreeNode
}

var ans int
var left map[int]int

func widthOfBinaryTree(root *TreeNode) int {
	ans = 0
	left = make(map[int]int)
	dfs(root, 0, 0)
	return ans
}
func dfs(root *TreeNode, depth, pos int) {
	if root == nil {
		return
	}
	if _, ok := left[depth]; !ok {
		left[depth] = pos
	}
	ans = max(ans, pos-left[depth]+1)
	dfs(root.Left, depth+1, 2*pos)
	dfs(root.Right, depth+1, 2*pos+1)
}

func max(x, y int) int {
	if x > y {
		return x
	}
	return y

}

更多内容请移步我的repo:https://github.com/anakin/golang-leetcode

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Leetcode Golang 77. Combinations.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/88916151

    anakinsun
  • Golang leetcode 513. Find Bottom Left Tree Value.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/89175648

    anakinsun
  • Leetcode Golang 1. Two Sum.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/88866806

    anakinsun
  • SAP OData编程指南

    OData(Open Data Protocol)协议是一个开放的工业标准,用于定义RESTFul API的设计和使用。我的文章标题前加上SAP的前缀,只是为了...

    Jerry Wang
  • leetcode第513题-找树左下角的值

    Given a binary tree, find the left most value in the last row of the tree.

    程序员小王
  • 使用featureCounts进行定量分析

    featuresCounts软件用于统计基因/转录本上mapping的reads数,也就是用于raw count定量。该软件不仅支持基因/转录本的定量,也支持e...

    生信修炼手册
  • 线性结构------共享栈

    如果一个程序需要使用多个栈,使用顺序栈就会造成栈空间大小难以估计,从而造成有的栈溢出有的栈空闲,此时可以建立一个共享栈,通俗地讲就是将两个栈的栈底设置在同一个数...

    刘开心_1266679
  • 513. Find Bottom Left Tree Value

    Given a binary tree, find the leftmost value in the last row of the tree.

    眯眯眼的猫头鹰
  • Python3 安装 numpy 科学库

    py3study
  • Binary Tree Level Order Traversal

    问题:从上到下打印二叉树的每一行 分析:先搜出二叉树的高度,然后遍历高度,每次搜索一个高度 class Solution { public: int d...

    用户1624346

扫码关注云+社区

领取腾讯云代金券