mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
添加 0968.监控二叉树.md Go版本
This commit is contained in:
@ -368,7 +368,34 @@ class Solution:
|
|||||||
return result
|
return result
|
||||||
```
|
```
|
||||||
Go:
|
Go:
|
||||||
|
```go
|
||||||
|
const inf = math.MaxInt64 / 2
|
||||||
|
|
||||||
|
func minCameraCover(root *TreeNode) int {
|
||||||
|
var dfs func(*TreeNode) (a, b, c int)
|
||||||
|
dfs = func(node *TreeNode) (a, b, c int) {
|
||||||
|
if node == nil {
|
||||||
|
return inf, 0, 0
|
||||||
|
}
|
||||||
|
lefta, leftb, leftc := dfs(node.Left)
|
||||||
|
righta, rightb, rightc := dfs(node.Right)
|
||||||
|
a = leftc + rightc + 1
|
||||||
|
b = min(a, min(lefta+rightb, righta+leftb))
|
||||||
|
c = min(a, leftb+rightb)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, ans, _ := dfs(root)
|
||||||
|
return ans
|
||||||
|
}
|
||||||
|
|
||||||
|
func min(a, b int) int {
|
||||||
|
if a <= b {
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
Javascript:
|
Javascript:
|
||||||
```Javascript
|
```Javascript
|
||||||
var minCameraCover = function(root) {
|
var minCameraCover = function(root) {
|
||||||
|
Reference in New Issue
Block a user