738.单调递增的数字
968.监控二叉树
语言:Go
链接:https://leetcode.cn/problems/monotone-increasing-digits/
func monotoneIncreasingDigits(n int) int {tmp := strconv.Itoa(n)str := []byte(tmp) //要先转成byte形式,方便操作flag := len(str)for i := len(str) - 1; i > 0; i-- {if str[i] < str[i - 1] {flag = istr[i - 1]--;}}for i := flag; i < len(str); i++ {str[i] = '9'}res, _ := strconv.Atoi(string(str)) //将byte再转成string,方便操作return res
}
链接:https://leetcode.cn/problems/binary-tree-cameras/
/*** Definition for a binary tree node.* type TreeNode struct {* Val int* Left *TreeNode* Right *TreeNode* }*/var res int//0-本节点无覆盖//1-本节点有摄像头//2-本节点有覆盖
func traversal(root *TreeNode) int {//空节点有覆盖if root == nil {return 2}left := traversal(root.Left) //左right := traversal(root.Right) //右//1.左右节点都有覆盖if left == 2 && right == 2 {return 0}//2.左右节点至少有一个没有被覆盖,本节点要放上摄像头if left == 0 || right == 0 {res++return 1}//3.左右节点至少有一个有摄像头if left == 1 || right == 1 {return 2}return -1
}func minCameraCover(root *TreeNode) int {res = 0rt := traversal(root) //还要判断下根节点是否有覆盖if rt == 0 {res++}return res
}