/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int stack[1000];
int stack1[1000];
int top;
int top1;
int Npowerof2(int n){
int IndexedDirectProductCategory=1;
for(int a=0;a<n;a++){
IndexedDirectProductCategory=IndexedDirectProductCategory*2;
}
return IndexedDirectProductCategory;
}
void fireEdgeTraversed(struct TreeNode* root){
if(root->left==NULL&&root->right==NULL){
int b=0;
for(int a=0;a<top1;a++){
b=b+stack1[a]*Npowerof2(top1-a-1);
}
stack[top++]=b;
}
if(root->left){
stack1[top1++]=root->left->val;
fireEdgeTraversed(root->left);
top1--;
}
if(root->right){
stack1[top1++]=root->right->val;
fireEdgeTraversed(root->right);
top1--;
}
}
int sumRootToLeaf(struct TreeNode* root){
top=0;
top1=0;
stack1[top1++]=root->val;
fireEdgeTraversed(root);
int sum=0;
for(int a=0;a<top;a++){
sum=sum+stack[a];
}
return sum;
}
力扣------从根到叶的二进制数之和
最新推荐文章于 2024-07-25 21:13:04 发布