64,199
社区成员
发帖
与我相关
我的任务
分享第一题:172. 阶乘后的零

int trailingZeroes(int n){
if(n < 5) {
return 0;
}
return n / 5 + trailingZeroes(n/5);
}

int numberOfSteps(int num){
if(num == 0) {
return 0;
}
if(num % 2 == 1) {
return numberOfSteps(num-1) + 1;
}else {
return numberOfSteps(num/2) + 1;
}
}
第三题:222. 完全二叉树的节点个数

/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int countNodes(struct TreeNode* root){
if(root == NULL) {
return 0;
}
return countNodes(root->left) + countNodes(root->right) + 1;
}
第四题:LCP 44. 开幕式焰火

void findDiff(struct TreeNode* root,int* Array) {
if(root)
{
Array[root->val]++;
findDiff(root->left,Array);
findDiff(root->right,Array);
}
}
int numColor(struct TreeNode* root){
int Array[1006] = {0};
int sum = 0;
// for(int i = 0;i < 1006;i++) {
// Array[i] = 0;
// }
//memset(Array,0,sizeof(Array));
findDiff(root,Array);
for(int i = 1;i < 1006; i++) {
if(Array[i]!=0)
sum++;
}
return sum;
}