代码随想录算法打卡第三十二天, 新手自我记录一下刷题历程, 仅为自我打卡使用.
738. 单调递增的数字
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string num = to_string(n);
int flag = num.size();
for (int i = num.size() - 1; i > 0; --i) {
if (num[i] < num[i - 1]) {
num[i - 1]--;
flag = i;
}
}
for (int i = flag; i < num.size(); ++i) {
num[i] = '9';
}
return stoi(num);
}
};
968. 监控二叉树
class Solution {
private:
int result;
int traversal(TreeNode* node) {
if (node == nullptr) return 2;
int left = traversal(node->left);
int right = traversal(node->right);
if (left == 2 && right == 2) {
return 0;
} else if (left == 0 || right == 0) {
result++;
return 1;
} else if (left == 1 || right == 1) {
return 2;
}
return -1;
}
public:
int minCameraCover(TreeNode* root) {
result = 0;
if (traversal(root) == 0) result++;
return result;
}
};
希望明天还能再坚持一天!
贪心结束了! 完结撒花!
明天开始动态规划!