738.单调递增的数字
题目链接:738. 单调递增的数字 - 力扣(LeetCode)
思路;从后往前遍历,如果当前值大于后面值,当前值-1且后面值都变9
class Solution {
public int monotoneIncreasingDigits(int n) {
String s = String.valueOf(n);
char[] chars = s.toCharArray();
int left = s.length();
for(int i = s.length()-2; i >= 0; i--){
if(chars[i] > chars[i+1]){
chars[i]--;
left = i+1;
}
}
for(int i = left; i < s.length(); i++){
chars[i] = '9';
}
return Integer.parseInt(String.valueOf(chars));
}
}
968.监控二叉树 (可以跳过)
题目链接:968. 监控二叉树 - 力扣(LeetCode)
思路:使用后序遍历,先在叶子节点的父节点装,
int traversal(TreeNode* cur) {
// 空节点,该节点有覆盖
if (终止条件) return ;
int left = traversal(cur->left); // 左
int right = traversal(cur->right); // 右
逻辑处理 // 中
return ;
}
class Solution {
int res = 0;
public int minCameraCover(TreeNode root) {
if(minCame(root)==0){
res++;
}
return res;
}
public int minCame(TreeNode root){
if(root == null) return 2;
int left = minCame(root.left);
int right = minCame(root.right);
if(left == 2 && right == 2){
return 0;
}else if(left == 0 || right == 0){
res++;
return 1;
}else{
return 2;
}
}
}
4332

被折叠的 条评论
为什么被折叠?



